您的位置:首页 > 其它

设计模式总原则 -- 开闭原则

2016-03-22 19:53 253 查看
开闭原则:为了实现软件系统可维护的复用,必须遵循“开闭原则”,即对扩展开放,对修改关闭。

想要做到“开闭原则”,可以遵循以下设计原则,

一、里氏代换原则:任何基类可以出现的地方,子类一定可以代换。

        强调子类尽量不要修改基类的属性和行为,而是去扩展属性和行为,这样子类一定具有基类的全部属性和行为。

二、依赖倒转原则:要依赖于抽象,不要依赖于实现。

        强调要依赖高层次的抽象模块,不要依赖低层次的实现模块。

        宏观的抽象模块比较稳定,不会引起其他模块的大幅变化;另外实现模块发生变化也不会传导到抽象模块。

三、接口隔离原则:提供尽可能小的单独接口,而不是提供大的总结口。

        强调提供多个专门接口,各司其职,可以根据需要定制几个专门接口,满足客户端需求;

       不要提供一个万能的总结口,用不上的也放在那里,形成接口污染。

四、合成/聚合复用原则:要尽量使用合成/聚合,而不是使用继承实现复用。

        抽象类是用来继承的,而具体类不是用来继承的;具体类能用合成/聚合来复用的,尽量不用继承来复用。

        在判断是否使用继承时,在逻辑上要区分B-Has-A,还是B-Is-A:如果B-Has-A,就用合成/聚合复用;如果B-Is-A,就使用继承。

五、迪米特法则:一个模块与尽可能少的模块发生尽可能少的联系。

        强调每个模块要有独立性,对外提供窄的接口;只要接口不变,每个模块的具体实现可以独立的开发和进化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: