看了一篇 关于工厂方法的文章 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 为什么需要...
一个具体工厂创建一个产品族,一个产品族是不同系列产品的组合,产品的创建的逻辑分在在每个具体工厂类...如果没有应对“多系列对象创建”的需求变化,则没有必要使用抽象工厂模式,这时候使用简单的静态工厂完全可以。
第4章讨论创造型模式(抽象工厂、工厂方法、生成器、原型和单件模式);第5章讨论结构型模式(适配器、桥接、组成、装饰、外观、享元和代理模式);第6章阐释行为模式(职责链、命令、解释器、迭代器、中介者、备忘...
Java设计模式是软件开发中常见问题的标准解决方案,它们是经过时间考验和实践证明的有效设计方法。设计模式的目标是提高代码的可重用性、...同时,要注意不要过度使用设计模式,只在必要的时候使用它们来解决实际问题。
抽象工厂的一个主要目的就是它能隔离具体要生成的类,这些类的实际类名隐藏在工厂里面,在客户端根本没有必要知道
请继续对3中的类,使用桥接模式重新设计,部分类图如下;同时指出如何适应a-e的变化需求. 5. 现有Menu类及相关类,如下图 在显示AppleMenu和WindowMenu时,是以图片的形式显示的;对于ConsoleMenu当然也以图片...
工厂模式设计结构,作为开发人员还是有必要了解下工厂模式的设计,它可以让开发人员更好的了解框架和别人的源码
设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种。本文旨在总结平时相对来说用的比较多的设计模式。 什么是设计模式 百度百科...
计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现,即使需求不断增加, 你也可以神清气闲,不用为代码设计而烦恼了。 假定我们要设计一个媒体播放器。该媒体播放器目前只支持音频文件 ...
个人感觉,不论什么样的设计模式,总是想办法将对象抽象化,给客户端提供一个不变的操作接口,并将一些必要的改变,写在xml文件中。而自己在写代码时可以整体替换,不用在原代码上修修改改。设计模式问题的关键是...
java23种设计模式,深入理解灵活运用设计模式对于优化代码质量,提高编程能力非常必要! Blog 设计模式 module blog 单例模式 Singleton pattern 工厂方法模式 Factory method model 抽象工厂模式 Abstract factory ...
基于SQLServer和 Eclipse开发环境工厂进销存管理系统软件程序源码+数据库+WORD毕业设计论文文档。 目录 摘要 i Abstract ii 1 绪 论 1 1.1本课题的研究背景 1 1.2国内外研究现状 1 1.3本课题的重要工作 2 1.4选题...
是的,一个简单的休假申请,需要这么复杂的流程,这也是一个公司保证它正常运行的必要。如果部门经理休假了,那么我的休假申请由谁审批呢?这个时候由项目主管代替部门经理进行审批。一个休假申请的审批制度有着严格...
有了翅膀才能飞, ...此时就有修改设计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现, 即使需求不断增加,你也可以神清气闲,不用为代码设计而烦恼了。假定我们要设计一个媒体播放器。
在工厂方法中,有必要以无限制的方式使用UM界面,将其作为超类的主要类别,也可以将其作为criados的替代类。 抽象工厂 紧急情况下,紧急情况发生,紧急情况发生,紧急情况发生,紧急情况发生,紧急情况发生。 埃塞
FMEA(Failure Mode and Effects Analysis,失效模式与影响分析)技术应用于工厂生产及质量培训中,作为一种系统化工程设计辅助工具,帮助工程师在设计阶段早期发现问题,预防可能的失效模式,提高产品质量和可靠性...
种设计模式,根据包名来区分不同的设计模式。大部分的设计模式都有相应的示例代码,放于该设计模式的 Demo 包下面,每个 Demo 都很简单、容易理解,适合于初学者。 目录 1. 单例模式 主要介绍了单例模式的...
然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导致子类的数量不断增多,反而增加了系统复杂程度,所以在这里使用工厂模式来封装类创建过程并不合适,然而原型模式可以很好地解决这个问题,因为...
换了数据库mysql,以前用的是mongodb,简单,但是后面发现跨表查询确实是个...考虑了设计模式,如工厂方法 增加了oss连接超时处理 引入了请求时cache,确保同一次http请求不会对某个对象请求多次 引入了日志 引入了sse