• 30、面向对象设计模式之工厂方法模式概念的引入


    工厂方法模式缘起

      耦合关系决定软件变化时的行为。

      模块之间的紧耦合使用软件面对变化时,相关的模块都要随之更改。

      而模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变。

    工厂方法模式得动机

      在软件系统中经常面临“某个对象”的创建工作,由于需求的变化,这个对象(具体实现)经常面临着剧烈变化它却有比较稳定的接口

      如何应对变化?有没有一种”封装机制“来隔离这种变化,从而保持系统中”其他依赖该对象的对象“,不随着需求的变化而变化呢?

    工厂方法的用意

      定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使得一个类的实例化延迟到子类。 

    下面代码理解上面的结构图

    public interface IProduct{
        void ProductMethod();
    }
    class Product:IProduct{
        public void ProductMethod(){
            Console.WriteLine("产品");
        }
    }
    public interface IFactory{
        IProduct CreateProduct();
    }
    public class Factory :IFactory{
        public IProduct CreateProduct(){
            return new Product();
        }
    }
    class Program{
        
        static void Main(string[] args){
            IFactory factory = new Factory();
            IProduct product = factory.CreateProduct();
            product.CreateProduct();
        }
    }
  • 相关阅读:
    Android 中类似ModelWindow的一个实现
    DIV的圆角表现和TAB切换
    Android SDK Manager Google Apis 下载
    Android ADT初始化失败
    2层Folder删除问题,父文件夹删不掉
    【转】Android使用Log4j例子
    编译和解释的区别
    局部变量和全局变量
    函数的几种参数
    格式化
  • 原文地址:https://www.cnblogs.com/sy-liu/p/13141883.html
Copyright © 2020-2023  润新知