`

设计模式(1)工厂方法 感觉没必要用工厂方法

阅读更多

看了一篇 关于工厂方法的文章 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。似乎没有体现工厂方法的作用。我想在存在反射技术的情况下,工厂方法都没什么必要了。

分享到:
评论

相关推荐

    《软件秘笈:设计模式那点事》郑阿奇(编者) -电子工业出版社

    1.2 引入设计模式的必要性 1.3 软件设计遵循的基本原则 1.3.1 高内聚、低耦合 1.3.2 面向抽象编程 1.3.3 多用组合少用继承 1.3.4 “开-闭”原则 1.4 设计模式概述 1.4.1 什么是设计模式 1.4.2 为什么需要...

    Java设计模式之抽象工厂模式.docx

    一个具体工厂创建一个产品族,一个产品族是不同系列产品的组合,产品的创建的逻辑分在在每个具体工厂类...如果没有应对“多系列对象创建”的需求变化,则没有必要使用抽象工厂模式,这时候使用简单的静态工厂完全可以。

    设计模式精解及面试攻略

    第4章讨论创造型模式(抽象工厂、工厂方法、生成器、原型和单件模式);第5章讨论结构型模式(适配器、桥接、组成、装饰、外观、享元和代理模式);第6章阐释行为模式(职责链、命令、解释器、迭代器、中介者、备忘...

    Java 设计模式详解超详细(含示例代码)

    Java设计模式是软件开发中常见问题的标准解决方案,它们是经过时间考验和实践证明的有效设计方法。设计模式的目标是提高代码的可重用性、...同时,要注意不要过度使用设计模式,只在必要的时候使用它们来解决实际问题。

    设计模式 —抽象工厂模式

    抽象工厂的一个主要目的就是它能隔离具体要生成的类,这些类的实际类名隐藏在工厂里面,在客户端根本没有必要知道

    吉林大学软件学院卓班设计模式第二次作业

    请继续对3中的类,使用桥接模式重新设计,部分类图如下;同时指出如何适应a-e的变化需求. 5. 现有Menu类及相关类,如下图 在显示AppleMenu和WindowMenu时,是以图片的形式显示的;对于ConsoleMenu当然也以图片...

    C#工厂模式20200707.rar

    工厂模式设计结构,作为开发人员还是有必要了解下工厂模式的设计,它可以让开发人员更好的了解框架和别人的源码

    常用的javascript设计模式

    设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种。本文旨在总结平时相对来说用的比较多的设计模式。 什么是设计模式 百度百科...

    从实例谈面向对象编程、工厂模式和重构

    计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现,即使需求不断增加, 你也可以神清气闲,不用为代码设计而烦恼了。 假定我们要设计一个媒体播放器。该媒体播放器目前只支持音频文件 ...

    designPattern:设计模式Java描述

    个人感觉,不论什么样的设计模式,总是想办法将对象抽象化,给客户端提供一个不变的操作接口,并将一些必要的改变,写在xml文件中。而自己在写代码时可以整体替换,不用在原代码上修修改改。设计模式问题的关键是...

    Design-patterns:java23种设计模式,深入理解灵活运用设计模式对于优化代码质量,提高编程能力非常必要!

    java23种设计模式,深入理解灵活运用设计模式对于优化代码质量,提高编程能力非常必要! Blog 设计模式 module blog 单例模式 Singleton pattern 工厂方法模式 Factory method model 抽象工厂模式 Abstract factory ...

    基于SQLServer和 Eclipse开发环境工厂进销存管理系统软件程序源码+数据库+WORD毕业设计论文文档.zip

    基于SQLServer和 Eclipse开发环境工厂进销存管理系统软件程序源码+数据库+WORD毕业设计论文文档。 目录 摘要 i Abstract ii 1 绪 论 1 1.1本课题的研究背景 1 1.2国内外研究现状 1 1.3本课题的重要工作 2 1.4选题...

    C++设计模式之职责链模式

    是的,一个简单的休假申请,需要这么复杂的流程,这也是一个公司保证它正常运行的必要。如果部门经理休假了,那么我的休假申请由谁审批呢?这个时候由项目主管代替部门经理进行审批。一个休假申请的审批制度有着严格...

    从实例谈OOP、工厂模式和重构

    有了翅膀才能飞, ...此时就有修改设计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现, 即使需求不断增加,你也可以神清气闲,不用为代码设计而烦恼了。假定我们要设计一个媒体播放器。

    设计模式-part3-v2

    在工厂方法中,有必要以无限制的方式使用UM界面,将其作为超类的主要类别,也可以将其作为criados的替代类。 抽象工厂 紧急情况下,紧急情况发生,紧急情况发生,紧急情况发生,紧急情况发生,紧急情况发生。 埃塞

    07952 工厂生产及质量培训--FMEA技术的应用(PPT 38页).ppt

    FMEA(Failure Mode and Effects Analysis,失效模式与影响分析)技术应用于工厂生产及质量培训中,作为一种系统化工程设计辅助工具,帮助工程师在设计阶段早期发现问题,预防可能的失效模式,提高产品质量和可靠性...

    酒店管理系统源码下载java-Design-Pattern:It'seasytounderstandforbeginners/适用于设计模式的

    种设计模式,根据包名来区分不同的设计模式。大部分的设计模式都有相应的示例代码,放于该设计模式的 Demo 包下面,每个 Demo 都很简单、容易理解,适合于初学者。 目录       1. 单例模式 主要介绍了单例模式的...

    C#编程中使用设计模式中的原型模式的实例讲解

    然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导致子类的数量不断增多,反而增加了系统复杂程度,所以在这里使用工厂模式来封装类创建过程并不合适,然而原型模式可以很好地解决这个问题,因为...

    大创经验分享&项目资源&代码程序资源

    换了数据库mysql,以前用的是mongodb,简单,但是后面发现跨表查询确实是个...考虑了设计模式,如工厂方法 增加了oss连接超时处理 引入了请求时cache,确保同一次http请求不会对某个对象请求多次 引入了日志 引入了sse

Global site tag (gtag.js) - Google Analytics