Java设计模式

119 阅读2分钟

六大原则

开闭原则

一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

优点:实践开闭原则的优点在于可以在不改动原有代码的前提下给程序扩展功能。增加了程序的可扩展性,同时也降低了程序的维护成本。

里氏替换原则

继承在给变成带来便利的同时,也带来了弊端。比如:父类的需要修改的时候,所涉及到的子类的功能有可能会产生故障。“里氏替换原则”就是在这样的背景下产生的。

在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,
反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。
里氏替换原则通俗来讲就是:
子类可以扩展父类的功能,但不能改变父类原有的功能。
也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。
因为多态运用频繁程序就会容易出错。即在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法,重写父类的方法完成新的功能,这样写起来简单,但对整个继承体系的复用性会比较差,特别是运行动态比较频繁的时候。

依赖倒置原则

依赖倒置原则的中心思想是面向接口编程,抽象不应该依赖细节,细节应该依赖抽象。
即高层模块不应该依赖低层模块,二者都应该依赖其抽象

变量的声明类型尽量是抽象类或接口, 这样一来,我们的变量引用和实际对象间,就存在一个缓冲层,利于程序扩展和优化。继承时遵循里氏替换原则

优点:通过抽象来搭建框架,减少了类之间耦合性。而且这样搭建的系统更加稳定,可扩展性更高,利用维护。