摘要:
依赖倒转原则:抽象不应该依赖于细节,细节应当依赖于抽象,换言之,要针对接口编程,而不是针对实现编程。 依赖倒转原形要求程序代码中传递参数时或在关联关系中,进来引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。为 阅读全文
摘要:
里氏替换原则:所有引用基类的地方,必须能透明的使用其子类的对象。 通俗的理解:子类可以扩展父类的功能,但不能改变父类原有的功能。 代码示例: 里氏替换原则表明,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一 阅读全文
摘要:
开闭原则:一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。 可以在系统定义一个相对稳定的抽象层,将不同的实现行为转移到具体的实现层来完成。 通过接口、抽象类等机制来定义系统的抽象层,再通过 阅读全文