依赖倒转原则-通过接口传递依赖-Java设计模式

3 517

通过接口传递依赖示例

package src.inversion;
/* 
  依赖倒转原则
    面向接口编程
    高层模块不依赖于低层模块,二者都依赖于抽象
    抽象不依赖于细节,细节依赖于抽象
    抽象是指接口和抽象类,细节是指实现类

    依赖倒转
        传统:
            高层依赖低层
        倒转后:低层依赖于抽象,高层也依赖于抽象,细节也依赖于抽象
        倒转后:低层依赖于抽象,高层也依赖于抽象,细节也依赖于抽象
        核心是:抽象,即面向接口编程

*/

/* 通过接口传递实现依赖 */
public class Inversion3 {
    interface ITV{
        public void play();
    }
    interface IOpenAndClose{
        public void open(ITV tv);
    }
    class HaierTV implements ITV{

        @Override
        public void play() {
            // TODO Auto-generated method stub
            System.out.println("Haier TV is playing");
        }
        
    }
    class OpenAndClose implements IOpenAndClose{

        @Override
        public void open(ITV tv) { /* <- */
            // TODO Auto-generated method stub
            tv.play();
        }
        
    }

}


Prev Post 依赖倒转原则-Java设计模式