• 工厂方法的设计模式


    概述:
    定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。

    适用性:

    1. 当一个类不知道它所必须创建的对象的类的时候
    2. 当一个类希望由它的子类来指定它所创建的对象的时候
    3. 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

    总结:
    FactoryMethod模式是设计模式中应用最为广泛的模式,在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要。FactoryMethod解决的就是这个问题,它通过面向对象的手法,将所要创建的具体对象的创建工作延迟到了子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。

    //接口的应用:工厂方法的设计模式
    public class TestFactoryMethod {
    	public static void main(String[] args) {
    		IWorkFactory i = new StudentWorkFactory();
    		i.getWork().doWork();
    		
    		IWorkFactory i1 = new TeacherWorkFactory();
    		i1.getWork().doWork();
    	}
    }
    
    interface IWorkFactory{
    	Work getWork();
    }
    class StudentWorkFactory implements IWorkFactory{
    
    	@Override
    	public Work getWork() {
    		return new StudentWork();
    	}
    	
    }
    class TeacherWorkFactory implements IWorkFactory{
    
    	@Override
    	public Work getWork() {
    		return new TeacherWork();
    	}
    	
    }
    
    interface Work{
    	void doWork();
    }
    
    class StudentWork implements Work{
    
    	@Override
    	public void doWork() {
    		System.out.println("学生写作业");
    	}
    	
    }
    class TeacherWork implements Work{
    
    	@Override
    	public void doWork() {
    		System.out.println("老师批改作业");
    	}
    	
    }
    
  • 相关阅读:
    vs2017默认以管理员运行
    net abp core的appservice中访问httpcontext对象
    .net core 支持apk下载
    EF Core 2.1变化
    .Net 高效开发之不可错过的实用工具
    win10 远程出现身份验证错误 要求的函数不受支持
    分享个百度网盘下载工具
    mysql迁移sqlserver
    2020.08.11 【ABAP随笔】-ITS Mobile 配置
    2020.05.07 【ABAP随笔】- ABAP-SM30删除前检查
  • 原文地址:https://www.cnblogs.com/liyao0312/p/11627457.html
Copyright © 2020-2023  润新知