c++我回来了,工作回顾

来源:互联网 发布:免费玻璃优化切割软件 编辑:程序博客网 时间:2024/06/05 11:00
         很久没有用C++了,最近打算重新练练基本功了。本来去百度写的,很久没用了发现百度空间太难用了,受不了就来CSDN了,这里的小伙伴多 哈哈。

         毕业后一直在一家ERP企业做.net方面的工作,2年多来对程序设计的架构思想,设计模式的应用,产品研发的模式都一些提升,对.net 框架也比较熟悉,但都局限在这个行业内。现在互联网企业大行其道,传统ERP项目周期长,交付麻烦,关键是利润低,赚钱真不容易,工资自然就不太给力了。对于业务程序员来说,用到的技术有限,更多的是实现业务逻辑。

         刚开始毕业对于一个如此先进的平台和产品框架感到震撼,我们产品的目标是做成一款云管理ERP(纯BS),想互联网公司转型,以后不卖产品,卖服务,卖空间。那时候花了很多时间学习研究,那时候每天都有新收获,感觉过得很充实。我们的产品有一个很先进的BOS平台,在平台上我们可以绘制页面,在页面,控件层面配置简单的控制逻辑。如做一个页面如果没有复杂业务逻辑,不用写代码就能做到。和很多流行web框架一样,如:Django(Python实现的),DotNetNuke(微软难得的开源框架),AspNet MVC(微软的)。很佩服的首席架构师,是个相当NB的人物,对这产品鞠躬尽瘁,是我在公司里最敬重的人。在此框架上业务设计好,开发实现好,性能做好,产品想不火都难。

总结我们产品设计架构好的主要几点:

1.  所有的页面都是xml保存在数据库,包括界面布局外观,控制逻辑(如值更新操作,携带字段,设置值,锁定空间等),空间对应的表字段。(让当时刚毕业我相当震撼。)
        优点1:没有很多的.aspx文件,这和asp.net mvc不同,更好维护。
        优点2:页面可以运行时修改界面,逻辑,节省调整界面和简单逻辑的时间。
2. 数据映射层(ORM),动态的根据1中所存xml,构造动态对象(dynamic,.net4.0发布的技术)。
         优点1:与linq,EF等orm框架不同,这个框架不会是生成对应的实体类(即.cs文件)。
         优点2:支持页面间继承,这很厉害,则可以让我们在设计页面时根据模板递增式添加。好处多多,类似面向对象的继承。
3. 逻辑层采用了(MVC)框架,构造一套页面生命周期,期间触发各种事件,可订阅特殊处理,这也是业务开发插件中做到最多的。
         优点1:与Asp.net mvc  的一个页面一个controler,view,model不同,我们是一类型页面公用一个,如10000个单据也只有一个BillControler。我们将所有的页面按业务功能不同分为:动态表单,单据,基础资料,过滤框,参数,帐表等,所以我们的M,V,C都是有限的10来个,维护很容易。
          优点2:V-View理论上可以吐各种格式的数据,JSON,Html5等。
4. 切片编程思想,很多地方用到,如:如果需要处理什么事件,可以注册插件,配置服务,监控性能等。不好的地方就是必须得反射,相当影响性能。
5. 数据库脚本执行翻译KSQL,我们写的sql不是针对ms-sql 或oralce的,而是自己的一套语法类似标准sql,在执行时会翻译为对应的数据库sql,很牛B,意味着以后可以支持任何类型的数据库毫无压力。
6. 缓存机制、日志没太多特别之处。

当然也有缺陷,有技术限制也有设计原因:

1. 最大的缺陷,.net的垃圾回收机制会挂起进程,反射耗时是普通实例化对象上千倍。
2. 请求没有优先级,也没请求处理的异步队列,大并发时估计有点悬,不过这以后用户量大了再改也不是问题。
3. 应用逻辑服务器和HTTP服务器部署在一起的,不能分布式部署,很难水平扩展应用服务器的处理能力。
4. 前端用silverlight,wpf,这玩意不支持跨平台啊,只能windows用,手机,平台都不行,只能期待HTML5。
自己的产品,缺点不能写太多了,呵呵。
鄙人才疏,对产品很多还没理解到位,欢迎大家提供改进建议!
0 0
原创粉丝点击