在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成长之路上的下午茶的更多相关文章

  1. 彷徨中的成长-记一个文科生的IT成长过程

    纠结了许久,要不要写这篇文章,然而最终还是写了.就权当总结与呻吟吧..当然,呻吟最开始还是发在自己的站点的,忍不住手贱,还是想发博客园. 1 剧透 人算不如天算:时隔多年,我竟然搞起了前端. 2 发端 ...

  2. 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

    ***********************************************声明*************************************************** ...

  3. 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

    ***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...

  4. 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

    原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  5. 在IT的路上,我在成长

    在IT的路上,我在成长.很荣幸地加入了博客园这个大家庭. 岁月的航船在不断航行,在成长的脚印我要深深留下,回首已往经历,发现自己成长的路上,将来也会有很多美好的回忆,以及丰硕的果实.

  6. Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)

    简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...

  7. 《Java从0开始的成长之路》

    大纲 这篇博文是我整理寒假一个月来的总结 作用一:主要是方便我以后复习,并尝试对Java虚拟机深度挖掘,希望各位前辈给予指点,我会潜心钻研,只希望水平更进一步. 作用二:闭关锁国终将遭遗弃,希望汇聚网 ...

  8. 006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!

    作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 so ...

  9. 《Python测试开发技术栈—巴哥职场进化记》—初来乍到,请多关照

    上文<巴哥职场进化记-Python测试开发技术栈>开篇讲到巴哥毕业初到深圳,见到了来自五湖四海的室友.一番畅聊之后,抱着对未来职场生活的期待,大家都进入了梦乡.今天我们来看看巴哥第一天上班 ...

随机推荐

  1. asp.net gridview 分页显示不出来的问题

    使用gridview分页显示,在点击第二页的时候显示空白,无数据. 原因是页面刷新,绑定datatable未执行 解决方法: 1.将datatable设置为静态 2.在OnPageIndexChang ...

  2. 【安全测试】burpsuite安装方法

    burp suite需要安装Java环境才可以运行,最好安装jdk1.6以上版本. 1.将jdk安装路径添加到环境变量-path里,加到bin即可: C:\Program Files\Java\jdk ...

  3. Word 2010发布博客文章

    只测试了cnblog 1.新建文件选择word 2010自带的博客文章模板 2.在管理账户中新建一个博客账户,也就是你自己在博客园的账户,博客选其他 3.然后选择下一步,博客的URL在自己的博客设置里 ...

  4. Linux 高性能服务器编程——socket选项

    socket选项函数 功能:用来读取和设置socket文件描述符属性的方法 函数: #include <sys/scoket.h> int getsockopt ( int sockfd, ...

  5. python判断文件是否存在

    # 判断文件是否存在 def judgejson(jsonpath): # 如果存在就返回True,不存在就返回False return os.path.exists(jsonpath)

  6. mssql sqlserver 指定特定值排在表前面

    转自:http://www.maomao365.com/?p=7141 摘要: 下文讲述sql脚本编写中,将 特定值排在最前面的方法分享, 实验环境:sqlserver 2008 R2 例:将数据表中 ...

  7. phonegap走起

    最近phonegap已发布4.0的了..速度提升了不少,很给力.小白们可以看下如何构建phonegap开发平台. 此文将说明如何建立一个可以被vs2015打开的phonegap的项目.我还会加上ion ...

  8. RabbitMQ 常用操作

    RabbitMQ简介 1.首先安装erlang rpm -Uvh https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos ...

  9. keepalived基础原理

    keepalived介绍 设置初衷是为了高可用ipvs 通过脚本可以实现高可用nginx或者haproxy调度器, 基于vrrp协议完成一个固定的IP可以在集群中不同的节点进行流动.为ipvs集群的各 ...

  10. 随机数类Random

    我们来学习下,用来产生随机数的类Random,它也属于引用数据类型. 这个Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式. l  方法简介 public int ...