软件开发中常遇问题分析

软件开发中常遇问题分析

首先,你的软件系统是否常常有下面的问题或困扰:

僵化。牵一发而动全身,你的系统不可修改或者扩展。

复杂和重复。过分复杂,难于理解,跟踪你的程序往往不知取向,没有设计不可取,过度设计同样不可取;或者系统中充满了重复的结构和实现。

不可复用。过于僵化而不可复用,不能剥离出独立的复用组件。

不够稳定。常常出错而又无法妥善解决问题,系统运行不够可靠。

正是这些问题的出现,促使人们开始不断思考对软件设计、软件架构和软件流程等内容的关注,设计原则也是在这种思考和探索中逐渐归纳总结而成的,通过灵活的应用设计原则,辅助一定的设计模式,封装变化、降低耦合,来实现软件的复用和扩展,这正是设计原则的最终意义。

首先是面向对象。随着面向对象编程思想的成熟,形成了以封装、继承和多态三大要素为主的完整体系,蕴涵了以抽象来封装变化,降低耦合,实现复用的精髓,而这三大因素相互联系、互相制约:封装用以隐藏具体实现,保护内部信息;继承实现复用;而多态改写对象行为,在继承基础上实现更高级别的抽象。在此基础上逐渐形成的一些基本的OO原则,例如封装变化、对接口编程、少继承多聚合,已经具有了面向对象设计原则的思想,而本篇所述的原则可以看成是对这些思想的系统化引申和归纳。

然后是设计模式。模式代表了对经验的总结和提炼,是对重复发生的问题进行的总结和最佳解决策略的探索,自GoF的《设计模式:可复用面向对象软件的基础》这部巨著诞生以来,对于软件设计模式的探索成为每个设计开发者的必修课,而面向对象设计原则可以看做是了解设计模式的基础,为设计模式提供了基本的指导。经典的23个模式背后,都遵循着这些基本原则,而设计原则又由设计模式策略来实现,这就是二者之间的关系,所以了解原则对于认识模式具有绝对的指导意义。

最后,就是设计原则的故事。Robert C. Martin(Bob大叔)的巨著《敏捷软件开发——原则、模式与实践》对敏捷设计原则进行了深刻而生动的论述,不同的模式应对不同的需求,而设计原则则代表永恒的灵魂,需要在实践中时时刻刻地遵守,创造尽可能优雅、灵活的设计。

“你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。”。

——ARTHUR J.RIEL,《OOD启思录》

请记住这些技术大师的名字和作品,并研习其中的经验和招式,正是他们让这个领域变得如此光彩夺目,沿着这些智慧的道路走下去,在品读经典的过程中,你会逐渐找到技术神灯之下的奥秘。

来源:KOne社区

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月10日
下一篇 2018年10月10日

相关推荐