对可维护性的支持
首先,恰当的提高系统的可复用性,可以提高系统的可扩展性。允许一个具有同样接口的新的类代替旧的类,是对抽象接口的复用。 客户端依赖于一个抽象的接口,而不是一个具体实现类,使得这个具体类可以被另一个具体类所代替,而不影响到客户端。
系统的可扩展性是由”开—闭”原则、里氏代换原则、倚赖倒转原则和组合/聚合复用原则所保证的。
其次,恰当地提高系统的可复用性,可以提高系统的灵活性。在一个设计得当的系统中,每一个模块都相对于其他模块独立存在,并只报纸与其他模块的尽可能少的通信。这样一来,在其中某个模块发生代码修改的时候,这个修改的压力不会传递到其他的模块。
系统的灵活性是由“开—闭”原则,迪米特法则、接口隔离原则所保证的。
最后,恰当的提高系统的可复用性,可以提高系统的可插入性。在一个符合“开—闭”原则的系统中,抽象层封装了与商业逻辑有关的重要行为,这些行为的具体实现由实现层给出。当一个实现类不再满足需要,需要以另一个实现类取代的时候,系统的设计可以保证旧的类可以被“拔出(Unplug)”,新的类可以被“插入(Plug)”。
系统的可插入性是由“开—闭”原则、里氏代换原、组合/聚合复用原则以及倚赖倒转原则保证的。
设计原则有哪些:
“开—闭”原则(Open-Closed Principle,或者OCP)
里氏代换原则(Liskov Substitution Principle,或者LSP)
倚赖倒转原则(Dependency Inversion Principle,或者DIP)
接口隔离原则(Interface Segregation Principle,或者ISP)
组合/聚合复用原则(Composition/Aggregation Principle,或者CARP)
迪米特法则(Law of Demeter,或者LoD)
这些设计原则首先都是复用的原则,遵循他们可以有效提高系统可复用性,同时提高系统的可维护性。