2015/4/21

来源:互联网 发布:淘宝抢购插件 编辑:程序博客网 时间:2024/05/17 11:32

这些日子一直在看ACE网络框架,该网络框架有些复杂,也可能是 我现在水平很菜。以前在学校时曾经解读过struts2框架,但那时候还在主攻java,而且那时候对设计模式这种东西还比较迷信,struts2虽然功能也很庞大,但核心功能还算比较清晰,但ACE是对网络编程进行封装,网络编程涉及到很多与操作系统本身相关的知识,而且为了性能方面的考虑,对于GOF提炼出来的设计模式,使用的时候需要谨慎一些。


软件灵活性的获取其实是利用一些中间层完成的,将过程化的代码改造成OOP之后,代码的行数就开始暴增,如果要做到灵活性,可以对应对需求的不断变动,就需要对底层和上层同时进行抽象,运用一些非常规的设计理念完成对变化部分的封装。将变化的部分和不变的部分分离开来是一种非常基础也是非常常用和有效的措施。大部分的设计模式的出发点是OOP的五大原则,单一职责、里氏替换、开闭原则、依赖倒置、接口隔离,这些原则非常的抽象,如何实现就需要大量的经验,而且而且还面临大量失败的经验,从失败中学习和重构自己的程序是一种非常有效的方式。


但是在开发网络编程,尤其是触及到服务器的优化时,不能太迷信教条,如果对要解决的问题没有深入的理解,那盲目的照搬别人的经验几乎是在给自己挖坟墓。虽然这么说,不过在解读ACE的过程中,还是获取了不少的知识,值得一提的是有本书写的比较有特色:《面向模式的软件体系结构(卷2):用于并发与网络化对象的模式》,这书对网络开发中所涉及到的一些范式做了比较出色的总结,开发中遇到瓶颈或者在重构时候可以作为参考的书目。

0 0
原创粉丝点击