学习接口设计原则?接口隔离原则
package com.mode;
/* 接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口, 而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 本例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。 采用接口隔离原则对接口进行约束时,要注意以下几点: 1.接口尽量小,但是要有限度。 2.为依赖接口的类定制服务,只暴露给调用的类它需要的方法, 它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务, 才能建立最小的依赖关系。 3.提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。 */interface I1 {public void method1();}interface I2 {public void method2();public void method3();}interface I3 {public void method4();public void method5();}class A {public void depend1(I1 i) {i.method1();}public void depend2(I2 i) {i.method2();}public void depend3(I2 i) {i.method3();}}class B implements I1, I2 {public void method1() {System.out.println("类B实现接口I1的方法1");}public void method2() {System.out.println("类B实现接口I2的方法2");}public void method3() {System.out.println("类B实现接口I2的方法3");}}class C {public void depend1(I1 i) {i.method1();}public void depend2(I3 i) {i.method4();}public void depend3(I3 i) {i.method5();}}class D implements I1, I3 {public void method1() {System.out.println("类D实现接口I1的方法1");}public void method4() {System.out.println("类D实现接口I3的方法4");}public void method5() {System.out.println("类D实现接口I3的方法5");}}public class Client {public static void main(String[] args) {A a = new A();a.depend1(new B());a.depend2(new B());a.depend3(new B());C c = new C();c.depend1(new D());c.depend2(new D());c.depend3(new D());}}
原文:?http://blog.csdn.net/zhengzhb/article/details/7296921
/** * 23种设计模式 * 1.单例模式 2.工厂方法模式 3.抽象工厂模式 4.模版方法模式 5.建造者模式 6.代理模式 7.原型模式 8.中介者模式 * 9.命令模式 10.责任链模式 11.装饰模式 12.策略模式 13.适配器模式 14.迭代器模式 15.组合模式 16.观察者模式 * 17.门面模式 18.备忘录模式 19.访问者模式 20.状态模式 21.解释器模式 22.享元模式 23.桥梁模式 *//** * 面向对象的思想进行软件设计时,需要遵循的原则一共有6个 * * 1. 单一职责原则(Single Responsibility Principle) * 2. 里氏替换原则(Liskov Substitution Principle) * 3. 依赖倒置原则(Dependence Inversion Principle) * 4. 接口隔离原则(Interface Segregation Principle) * 5. 迪米特法则(Law Of Demeter) * 6. 开闭原则(Open Close Principle) */