在开发过程当中,如何提高软件的可维护性、可复用性、可扩展性,从而能满足多变的用户需求以及减少开发的成本,这是个非常值得探讨的问题
在开发过程中如果能遵循设计原则,则能很好的解决这些问题
设计原则主要有以下六个:
“开—闭”原则:
一个软件实体应当对扩展开放,对修改关闭,即在设计模块时应使该模块在不被修改的前提下被扩展,通俗点说是可以在不必修改原来封装好的代码的情况下扩展功能。提高开发的适应性和灵活性
如何实现:抽象化(java中可通过抽象类和接口来实现),对可变性的封装
里氏替换原则:
里氏替换原则是“开—闭”原则的补充,一个软件实体如果使用的是一个基类,那么一定适用于其子类,例如,当类之间存在继承关系时,可以建立一个抽象类,通过代码重构处理类之间的共同数据。
依赖倒转原则:依赖倒转原则是实现“开—闭”原则的手段,要依赖于抽象,不要依赖于实现
接口隔离原则:尽可能为客户端提供粒度小的单独的接口,而不是只提供一个总接口。为同一个角色提供宽、窄不同的接口,以应对不同的客户端。
合成/聚合复用原则:要尽量使用合成/聚合,而不是继承关系来达到复用的目的
迪米特法则:一个软件实体应当尽可能少的与其他实体发生相互作用
设计模式是设计原则的高度实现,而java的技术框架中设计模式的使用随处可见,所以,想要更深入的理解java开发当中的奥妙,这些问题的探讨极具价值。