文章列表
漫谈软件设计与分工协作
本节导读:
阐述“分工/协作”是世界万事万物进化发展的必然选择,也是软件设计首要指导思想,也是软件分层、分模块的理论依据。
对于从事软件行业的人来说,大部分人会经历软件架构设计,想尽可能的将软件设计的灵活、简单、好用,谈到软件设计我们经常会听到一些术语,比如:面向对象设计、设计模式,设计原则、分层思想等。但这些模式、原则起什么作用,为什么需要这些模式、原则,我们可能说是为了软件可阅读性,可维护性,可扩展性,为了程序解耦,为了模块化,为了插件化。但这是理由吗,这个理由能站得住脚吗?隐藏在这些需求背后的是否有个“万有引力”在支配呢 ...
最近学习了观察策略模式,观察者模式和装饰器模式,感悟颇多。。。。
1 每个模式都要用到组合,有多个类组合到一起完成某个模式。遵循设计原则-----多用组合少用继承。
2 这种组合一定不能是具体类和具体类之间的组合,一定要是接口(或抽象类)和接口之间的组合。遵循设计原则-----针对接口编程,不要针对具体实现编程。
3 针对接口编程意味着就对扩展开放,对修改封闭。遵循设计原则-----开闭原则。
4 为什么要遵循开闭原则,因为真实的业务系统根据业务发展的需要,经常需要增加新的功能,这时后我们可通过以添加新的类去完成新的功能,而不必去修改旧的代码,这样就避免了 ...