在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. LeetCode题解之Insert into a Binary Search Tree

    1.题目描述 2.分析 插入算法. 3.代码 TreeNode* insertIntoBST(TreeNode* root, int val) { insert(root, val); return ...

  2. 精通initramfs构建step by step

    (一)hello world  一.initramfs是什么  在2.6版本的linux内核中,都包含一个压缩过的cpio格式 的打包文件.当内核启动时,会从这个打包文件中导出文件到内核的rootfs ...

  3. [20171225]变态的windows批处理4.txt

    [20171225]变态的windows批处理4.txt --//昨天学习windows 批处理的echo &.使用它可以实现类似回车换行的功能.例子: 1.echo &.R:\> ...

  4. Oracle EBS FA 获取累计折旧

    FUNCTION get_ltd_deprn(p_asset_id IN NUMBER, p_book_type_code IN VARCHAR2, p_rate_source_rule IN VAR ...

  5. mybatis 初始

    接下来带着大家建立一个mybatis的初级项目 首先我们利用idea利用maven建立一个空项目 然后输入名称什么的就会创建一个空的maven项目了 然后我们需要在项目总得pom.xml中进行配置信息 ...

  6. exec 动态脚本 里面的参数和sp_executesql (注意引号,否则容易异常)

    @indexCt int@DemographicName nvarchar(500)INSERT INTO #finalTemp EXEC('SELECT a.QuestionId,a.AnswerI ...

  7. MySQL 聚簇索引和非聚簇索引的认识

    聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法.特点是存储数据的顺序和索引顺序一致.一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引. 在<数据库原理&g ...

  8. Linux 小知识翻译 - 「RAID」

    最近术语「RAID」变得比较有名.「RAID」是指将多个HDD组合起来使用,从而提高存储可靠性的一种技术. 那么,关于 RAID 中的 「RAID 0」「RAID 1」「RAID 5」等各种「RAID ...

  9. IDEA设置注释的颜色

    IDEA默认的灰色注释确实让人看不清,但如果把灰色调成黑色又和代码的颜色相同了,所以,不如给注释添加上绿色的背景,又护眼又容易分辨 新版本的IDEA打开Settings——Editot——Color ...

  10. c++11の的左值、右值以及move,foward

    左值和右值的定义 在C++中,可以放到赋值操作符=左边的是左值,可以放到赋值操作符右边的是右值.有些变量既可以当左值又可以当右值.进一步来讲,左值为Lvalue,其实L代表Location,表示在内存 ...