看了一篇 关于工厂方法的文章 http://terrylee.cnblogs.com/archive/2006/01/04/310716.html
有人提出
string strlogName=System.Configuration.ConfigurationSettings.AppSettings["logName"];
Log log; log=(Log)Assembly.Load("WindowsApplication1").CreateInstance("FactoryMethod."+strlogName);
这样完全没有必要对应的工厂
------------------------------------------------
作者回答:
想想这样程序中充斥着大量的这样的代码,你觉不觉会有问题呢?
------------------------------------------
我的看法:
这段代码封装到一个方法中,每次只用调用这个方法即可。
---------------------------------------------
以下是评论:
我刚刚用工厂方法写了一个小demo,写完之后才发现工厂方法完全没必要用(原打算用观察者模式做,然后想到每个被观察的对象都要创建所以有添加了工厂方法,结果发现观察这模式也没有用上)。上面也有很多人有这个疑问。我觉得 这段代码封装到一个方法中,每次只用调用这个方法即可。
另外从 EventLoglog = new EventLog(); 到 Log log = new EventLog();到 Log log = new factory.creat(); 是从全部的具体类,到全部的接口。
但不管怎么样。一个对象不反射出来就要new出来。只不过是换了个地方new而已。而先new一个工厂然后由工厂create一个log。似乎没有体现工厂方法的作用。我想在存在反射技术的情况下,工厂方法都没什么必要了。
。
分享到:
相关推荐
工厂方法模式(Factory Method Pattern)是面向对象的设计模式,它定义了一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。这样,工厂方法将实例化操作推迟到子类中,实现了对类的抽象,提高了代码的...
JAVA设计模式之工厂模式 JAVA设计模式之工厂模式是软件开发中一种常用的设计模式,它专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。 一、工厂...
在本示例"简单工厂设计模式1"中,我们将探讨如何通过该模式实现分装、继承和多态的概念。 分装是面向对象编程的一个核心原则,它将复杂性隐藏在对象的内部,只暴露必要的接口给外部世界。在简单工厂模式中,我们...
工厂模式作为设计模式中最基础且广泛使用的一种模式,在软件开发中扮演着重要角色。它通过提供一种创建对象的最佳方式,来帮助开发者更好地组织代码结构,提高代码的复用性与可维护性。在本课程设计中,我们将探讨...
在软件设计模式中,工厂模式是一种非常常见的创建型模式,它的主要目的是将对象的创建过程封装起来,使得创建过程与使用过程分离,提高代码的可扩展性和灵活性。在这个主题中,我们将深入探讨如何利用工厂模式来获取...
例如,不同的操作系统可能提供不同的UI控件集合,设计模式允许在不同的操作系统平台上使用同一套抽象工厂接口来创建整套UI控件,而无需关心底层具体的实现,这样可以提高软件的可移植性。此外,在企业级开发中,抽象...
"Java抽象工厂设计模式的研究与实现" Java抽象工厂设计模式是一种创造型设计模式,属于factory pattern的升级版本。它提供了一种解决方案,以便在不指定具体实现类的情况下,创建复杂对象的家族。 Java抽象工厂...
【Java设计模式之工厂模式Factory】是面向对象编程中一种重要的设计模式,它提供了一种创建对象的最佳方式。工厂模式的主要思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,使得代码更加灵活,易于...
1. 简单工厂模式(Static Factory Method):也被称作静态工厂方法模式,其主要目的是定义一个接口来创建对象,但它并不是GoF(Gang of Four)所提出的23种设计模式之一。它将对象的创建封装在一个工厂类中,根据...
1. **通用性**:设计模式是对在不同场合反复出现的问题的通用解决方案,它们适用于多种类型的软件系统,不局限于特定的语言或平台。 2. **经验性**:设计模式来源于实际项目经验,经过时间和实践的检验,证明是有效...
简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种类型的设计模式属于类创建模式,因为工厂类是基于类的。在简单工厂模式中,一个工厂类根据传入的参数来决定创建...
1.2 引入设计模式的必要性 1.3 软件设计遵循的基本原则 1.3.1 高内聚、低耦合 1.3.2 面向抽象编程 1.3.3 多用组合少用继承 1.3.4 “开-闭”原则 1.4 设计模式概述 1.4.1 什么是设计模式 1.4.2 为什么需要...
简单工厂模式是一种创建型设计模式,指的是由一个工厂对象来决定创造哪一种产品类的实例。工厂类中包含了必要的逻辑判断。 例如,水果工厂可以生产苹果和草莓两种水果。工厂类可以根据参数来决定创建哪一种水果对象...
}}}在这个设计中,我们使用了工厂设计模式。工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在这个案例中,园丁类(FruitGardener)起到了工厂的作用,负责创建和管理水果对象。当我们需要创建...
工厂方法模式是一种更加灵活的设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 **组成角色:** - **抽象工厂角色(Creator)**:创建对象的工厂类必须实现这...
根据提供的文件信息,“设计模式书记pdf”是一本详细介绍多种设计模式的书籍,旨在通过形象有趣、生动活泼的方式帮助读者理解和掌握这些模式。接下来,我们将基于这个背景信息来展开相关的知识点。 ### 设计模式...
1. **设计模式分类**:设计模式通常分为三类——创建型、结构型和行为型。创建型模式关注对象的创建,如单例模式、工厂模式、抽象工厂模式等;结构型模式关注对象的组合和结构,如适配器模式、装饰器模式、桥接模式...
在软件设计模式中,简单工厂模式是一种常用的创建型模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。在这个案例中,"C++制作的简单工厂模式计算器"就是一个运用了简单工厂模式来构建计算器程序的...
Java中的工厂工具包模式是一种强大的设计模式,有助于创建具有分离的构建器和工厂接口的工厂。该模式对于管理复杂的对象创建场景至关重要。 ## 二、别名 * 对象工具包 * 工具包 ## 三、工厂工具包设计模式的意图 ...
1. 设计模式的类型和学习方法: - 设计模式分为创建型、结构型、行为型三大类。目前文档提到的只是创建型模式。 - 学习设计模式需要了解模式的意图、解决的问题、使用场景、解决问题的方案以及结构和关键代码。 -...