摘要:
最少知识原则(Least Knowledge Principle,LKP)又叫作迪米特法则(Law of Demeter,LoD),它的定义是:只与你的直接朋友交谈,不跟“陌生人”说话。 其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类 阅读全文
摘要:
开闭原则(Open Closed Principle,OCP)的定义是:软件实体应当对(提供者的)扩展开放,对(使用者的)修改关闭。 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 开闭原则是面向对象程序设计的终极目标,它 阅读全文
摘要:
里氏替换原则(Liskov Substitution Principle,LSP)是指:继承必须确保超类所拥有的性质在子类中仍然成立。 通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。 当需要重写父类方法 阅读全文
摘要:
依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象; 抽象不应该依赖细节,细节应该依赖抽象。 其核心思想是:要面向接口编程,不要面向实现编程。 依赖倒置原则的目的是通过要面向接口的编程来降低类间的耦合性, 阅读全文
摘要:
接口隔离原则(Interface Segregation Principle,ISP)要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。 与之前介绍的单一职责原则类似,接口隔离原则同样是为了提高类的内聚性、降低它们之间的耦合性,都是面向对象三个基本特征中的“封 阅读全文