zoukankan      html  css  js  c++  java
  • 【设计模式】01、简单工厂设计模式

    【类图】:

     【Code】

    internal class SimpleFactory
        {
            internal static Computer CreateComputer(string typeName)
            {
                switch (typeName)
                {
                    case "MacPro":
                        {
                            return new MacPro();
                        }
                    case "LenovoY400":
                        {
                            return new LenovoY400();
                        }
                    default:
                        {
                            Console.WriteLine("not found this type:" + typeName);
                            return null;
                        }
                }
            }
        }
    View Code

    【描述】

    这里只看下SimpleFactory的代码,工厂中的CreateComputer方法根据传入的typeName,生成不同的对象。如果我们这时候又有了新的Computer类型ChromeBook,这时候我们需要添加一个新的类ChromeBook并修改工厂方法,加一个分支。但这违反了OCP(Open Close Principle)

    【优缺点】

    优点:简单工厂模式实现了职责的分离,客户端不再需要主动去创建产品对象,而是将这个职责交给了工厂去执行。

    缺点:
    1、简单工厂模式将所有产品对象的创建逻辑都集中在一个工厂方法中,当逻辑过于繁杂时,一旦不能正常工作时,整个系统都会受到影响。
    2、不利于扩展,添加新产品将违反OCP。

  • 相关阅读:
    JSP界面之间如何实现传值
    绝对路径的用法
    每日日报2020.8.12 1905
    每日日报2020.8.8 1905
    每日日报2020.8.17 1905
    每日日报2020.8.15 1905
    每日日报2020.8.13 1905
    每日日报2020.8.10 1905
    每日日报2020.8.16 1905
    每日日报2020.8.9 1905
  • 原文地址:https://www.cnblogs.com/fb-boy/p/3485001.html
Copyright © 2011-2022 走看看