wordpress开启多站点后台没显示,个人征信查询,网站建设公司生存现状,做soho一定要做网站吗1、开闭原则 对修改关闭#xff0c;对扩展打开。
2、里氏替换原则 子类继承父类的方法时#xff0c;不可重写父类的方法。 如果重写了父类的方法会导致整个继承体系比较差#xff0c;特别是运用多态比较平凡时#xff0c;程序运行出错概率较大。 如果出现了违背“里氏替换…1、开闭原则 对修改关闭对扩展打开。
2、里氏替换原则 子类继承父类的方法时不可重写父类的方法。 如果重写了父类的方法会导致整个继承体系比较差特别是运用多态比较平凡时程序运行出错概率较大。 如果出现了违背“里氏替换原则”替换原则需要重新设计类之间的关系。
3、依赖倒转原则 高层模块不应该依赖底层模块两者应该依赖其抽象抽象不应该依赖细节细节应该依赖抽象。 核心思想面相接口编程不面向实现编程。
依赖倒置原则的实现方法依赖倒置原则的目的是通过要面向接口的编程来降低类间的耦合性所以我们在实际编程中只要遵循以下4点就能在项目中满足这个规则。
1每个类尽量提供接口或抽象类或者两者都具备。
2变量的声明类型尽量是接口或者是抽象类。
3任何类都不应该从具体类派生。
4使用继承时尽量遵循里氏替换原则。
一个例子 package principle;
public class DIPtest {public static void main(String[] args) {Customer wang new Customer();System.out.println(顾客购买以下商品);wang.shopping(new ShaoguanShop());wang.shopping(new WuyuanShop());}
}
//商店
interface Shop{public String sell(); //卖
}
//韶关网店
class ShaoguanShop implements Shop {public String sell(){return 韶关土特产香菇、木耳……;}
}
//婺源网店
class WuyuanShop implements Shop{public String sell(){return 婺源土特产绿茶、酒糟鱼……;}
}
//顾客
class Customer{public void shopping(Shop shop){ //购物System.out.println(shop.sell());}
}
4、单一职责原则也适用于方法 单一职责原则规定一个类有且仅有一个引起它变化的原因。 一个类承担了太多职责会有以下缺点 1一个职责发生变化时可能会抑制或削弱其他职责 2当用户只需要类的每一个职责时又不得不把其他的职责引入进来从而造成代码冗余。 单一职责的有点 1降低类的复杂度提高可读性。 2提高系统的可维护性 3引发风险变低
单一职责原则是最简单但又最难运用的原则需要设计人员发现类的不同职责并将其分离再封装到不同的类或模块中。而发现类的多重职责需要设计人员具有较强的分析设计能力和相关重构经验。
5、接口隔离原则 要为各个类建立他们需要的专用接口而不是试图建立一个很庞大的接口共所有依赖的类使用。
6、迪米特法则 如果两个类无需直接通信那么就不应该出现直接互相调用可以通过第三方转发该调用。
只有当两个对象不存在关联聚合和组合关系时就需要考虑使用迪米特法则。
使用这个法则会产生中介类如果过多使用这个法则就会产生大量的中介类会增加系统的复杂性。
用一个例子说明一下
明星由于全身心投入艺术所以许多日常事务由经纪人负责处理如与粉丝的见面会与媒体公司的业务洽淡等。这里的经纪人是明星的朋友而粉丝和媒体公司是陌生人所以适合使用迪米特法则其类图如图所示。 7、合成复用原则
该原则要求在软件开发过程中要尽量先使用组合或者聚合等关联关系来实现其次才考虑继承关系来实现。如果要使用继承关系来实现那么必须遵循里氏替换原则。
先看一个使用类继承的UML类图 使用了合成复用原则 总结
开闭原则是总纲它告诉我们要对扩展开放对修改关闭里氏替换原则告诉我们不要破坏继承体系依赖倒置原则告诉我们要面向接口编程单一职责原则告诉我们实现类要职责单一接口隔离原则告诉我们在设计接口的时候要精简单一迪米特法则告诉我们要降低耦合度合成复用原则告诉我们要优先使用组合或者聚合关系复用少用继承关系复用。