记一次在.NET成长之路上的下午茶
在2017年2月25日我和李海国有幸与阳铭、朱永光两位大哥喝了一次下午茶。熟悉ABP框架的朋友呢知道阳铭远在上海,所以个人很是珍惜这次机会。朱永光大哥是微软MVP,之前是启路科技的CTO,目前在微软。当然关于两位的事迹还有很多感兴趣的朋友请自行了解。(按照圈子内的评价是他们两位的厉害不是一句两句就能说得清楚的)
好事多磨的前奏:
某天得知阳铭来到成都,在朋友圈邀约朱大哥喝茶,我也问了下可以参加与否,得到肯定的答复后,由暂定的周四改改改,终于在今天这阳光明媚的周六确定了位于火车南站的咖啡馆。
自我的回顾:
时间应该是在2015年的5月,在博客园有幸接触到了阳铭分享的“新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序”了解到了ABP框架,随后加群学习。跟随者阳铭推广ABP框架的步伐中走过来。在这中间接触了DDD(领域驱动设计)、DI(依赖注入)、AOP(面向切面编程)、模块化、异步编程、分布式结构、敏捷开发的理论思想。以及Linq、Entity Framework6 、Asp.net MVC5 等技术框架。知道了***的魅力。所以一路走来甚是感谢阳铭在社区推广以及博客园这样的平台给了我们学习交流的机会。在2016年的1月进入了新的公司,向当时的项目经理推荐了ABP框架,经过项目经理的评估后,也向公司高层的推荐ABP框架之后,成功将ABP框架作为我们公司的.NET研发团队的主力框架。
今日的收获:
阳铭今天见到我第一句话就说:“我对ABP框架的推广做了不少贡献”。心里还是很骄傲的,但是嘴上还是很谦虚的说:“我并没有做什么啊,只是平时将自己所积累的东西,有时间给大家进行相互分享而已”。我们也希望更多的.NET开发人员来使用ABP框架尝试用这套框架写出更好的更美的代码。
今天下午朱大哥和阳铭探讨.NET社区以及团队行业方向发展的事情,因为我的介入就加了ABP和开发答疑了。朱大哥和阳铭聊的比较多的是微服务方面的东西,我作为一个入门较晚的人对微服务停留于概念,能够感受到微服务一定会是未来的趋势,。中途也聊了ABP的发展以及当前使用ABP框架中的问题,以及程序员如何能够更好的往编程之路中探索,当然一个下午茶的时间不能都说的清楚,但是作为星星之火已足。
首先还是聊了下最基本的ABP的由来,如今的ABP框架版本已经更新到了1.4了,ABP中涉及的技术和设计思想,阳铭也帮助我解读了下ABP,朱大也参与进来共同头脑风暴了一下。获益匪浅啊,其实很多东西我自己掌握的也不是很好,如充血模式、领域驱动中的值对象、实体对象更多如微服务等等技术和思想。古语云:人外有人,天外有天诚不欺我也!
也聊到初级程序员该如何写好代码,答案是我们的代码中封装、继承、多态用好了没。如果没有用好建议先用好它,认认真真的学习OOP(面向对象编程)的思想。以及我们平时看了很多书,书上的理论知识掌握的很好,但是就是不知道怎么用代码来实现它。阳铭给的答案是:ABP的源代码中都有,ABP的源代码将设计模式用的很是淋漓尽致。路线还是只有一条,研究它,掌握它,最后消化它,武装为我们自己身上。 这样才能够提升我们自己的核心竞争力。
核心竞争力:
说道核心竞争力,也是挺好玩的一个事情,这两天群友会贴出碰见的奇葩代码如:中文、大量的ifelse蒙圈的代码。然后会说某某的核心竞争力就是写出只有他自己才能够看懂的代码,别人看不懂。这个是不对的,想我来到新公司见过从A1-Z26这样的实体。写出来的代码还不是一样慢慢把整个业务代码逻辑理顺了吗。所以还是写优美的代码才是我们需要的。真正的核心竞争力,就是真的技术厉害到一定程度,能够自己实现一套MVC框架,自己写一个类似EF这样的ORM框架,supersocket这样的开源组件出来。完全掌握好ABP的原理与机制然后总结出一套属于自己的框架出来。最近github上另外一个牛人就这么干了,而且也是土耳其人(看看别人家的孩子)。这个也是我会去走的一个方向。
最后聊了下每个人的过往和经历,当然这个又是另外一篇故事了。
今天下午茶的一些总结:
我们的.NET的圈子还是太封闭了,优秀的程序员还是有很多的,但是都不太愿意出来做交流沟通,这样是不行的。这样我们的.NET社区就不能很好的发展啊,所以还是希望有更多的人参与进来,扩展我们的圈子,共同繁荣我们的社区。
说下今年的目标吧:
会拿出更多的时间来推广ABP框架以及.NET CORE的知识与技术,2017会是我们.NET辉煌的开始。
(微软给技术圈的印象,和这个股价曲线一样。从左到右分别是盖茨、鲍尔默、纳德拉)
大家改变现状参与进来吧。
简单介绍下ABP
ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。
ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念)。
ABP的官方网站:http://www.aspnetboilerplate.com
想了解ABP和参与ABP交流的朋友们可以加群:
ABP架构设计交流群: 134710707 (2000人已满)
ABP架构设计交流群2:579765441(未满)
最后一颗糖永远舍不得吃,最好的永远放在最后讲:
阳铭目前已经离开要买车团队了,因为ABP框架结识了一帮志同道合的牛人,从DDD到微服务的实践阳铭的团队具有很强的经验。如果你有好的项目或者贵司需要行业内的比较好的解决方案,可以联系阳铭QQ:614573519
记一次在.NET成长之路上的下午茶的更多相关文章
- 彷徨中的成长-记一个文科生的IT成长过程
纠结了许久,要不要写这篇文章,然而最终还是写了.就权当总结与呻吟吧..当然,呻吟最开始还是发在自己的站点的,忍不住手贱,还是想发博客园. 1 剧透 人算不如天算:时隔多年,我竟然搞起了前端. 2 发端 ...
- 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
***********************************************声明*************************************************** ...
- 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...
- 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- 在IT的路上,我在成长
在IT的路上,我在成长.很荣幸地加入了博客园这个大家庭. 岁月的航船在不断航行,在成长的脚印我要深深留下,回首已往经历,发现自己成长的路上,将来也会有很多美好的回忆,以及丰硕的果实.
- Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)
简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...
- 《Java从0开始的成长之路》
大纲 这篇博文是我整理寒假一个月来的总结 作用一:主要是方便我以后复习,并尝试对Java虚拟机深度挖掘,希望各位前辈给予指点,我会潜心钻研,只希望水平更进一步. 作用二:闭关锁国终将遭遗弃,希望汇聚网 ...
- 006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!
作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 so ...
- 《Python测试开发技术栈—巴哥职场进化记》—初来乍到,请多关照
上文<巴哥职场进化记-Python测试开发技术栈>开篇讲到巴哥毕业初到深圳,见到了来自五湖四海的室友.一番畅聊之后,抱着对未来职场生活的期待,大家都进入了梦乡.今天我们来看看巴哥第一天上班 ...
随机推荐
- g4e基础篇#1 为什么要使用版本控制系统
g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...
- .NET 控制Windows文件和目录访问权限研究(FileSystemAccessRule)
前一段时间学习了.net 控制windows文件和目录权限的相关内容,期间做了一些总结.想把这方面的研究跟大家分享,一起学习.其中不免得有些用词不太标准的地方,希望大家留言指正,我加以修改. 首先,我 ...
- [20171225]RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect.txt
[20171225]RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect.txt --//朋友拿我的一些例子来测试 ...
- 通过DbVisualizer 工具运行DB2存储过程实现INSERT语句主键自增造数
1.需求简介 最近开发人员需要进行一批数据进行生产上SQL语句耗时过长问题的验证与优化.所以在性能测试库中批量建造数据,由于交易本身业务逻辑过于复杂以及需要各种授权,最后决定采用插表的方式完成. 2. ...
- Elasticsearch一些常用操作和一些基础概念
1.查看集群健康状态 [root@ELK-chaofeng01 ~]#curl -XGET http://172.16.0.51:9200/_cat/health?v epoch timestamp ...
- lamp/lnmp下添加PHP扩展
在linux下安装好基本的PHP运行环境后有时候添加了新的功能,就得增加新的扩展,比如之前没有安装redis扩展,可以手动编译安装相关的扩展可以找下下载的php源码包中,ext目录下是否有相关的扩展源 ...
- 【Java多线程】ReentrantReadWriteLock
概述 ReentrantReadWriteLock是Lock的另一种实现方式,ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个 ...
- RestTemplate 服务名请求
@loadBalance注解修饰的restTemplate才能实现服务名的调用,没有修饰的restTemplate是没有该功能的. @loadBalance是Netflix的ribbon中的一个负载均 ...
- mybatis逆向工程之动态web项目
有了逆向工程,单表的增删改查以及相关的实体类,还有属性注释都不用自己写了,都可以自动化生成,只需如下三步即可 逆向工程的优点是:自动化生成实体类和对应的增删改查,效率相对于之前个人开发时一个个写增删改 ...
- POJ2253(dijkstra堆优化)
https://vjudge.net/problem/POJ-2253 Freddy Frog is sitting on a stone in the middle of a lake. Sudde ...