社区
C#
帖子详情
工厂模式的优点在哪里?
ccp5780199
2007-07-20 10:21:40
今天研究PetShop4.0时候,上网查发现他使用的是工场模式
我想请问下
比起传统的
表现层调用业务层和数据逻辑层
工厂模式的优点在哪?
能用案例吗?
...全文
4058
24
打赏
收藏
工厂模式的优点在哪里?
今天研究PetShop4.0时候,上网查发现他使用的是工场模式 我想请问下 比起传统的 表现层调用业务层和数据逻辑层 工厂模式的优点在哪? 能用案例吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kruskaluu
2010-08-16
打赏
举报
回复
个人认为:
方便管理对象,对象之间一般都有相同的方法名称,只是不同的方法实现。
如果需要某个对象,则直接
ObjectInterface o = ObjectFactory.getObjectFactory.getObjectInterfaceImpl();
不用直接new一个对象ObjectInterface o = new ObjectInterfaceImpl();
nojupig
2010-07-16
打赏
举报
回复
一群俗人,就不能好好的形象点的回答问题,国人就喜欢把简单的问题说的很晦涩,窃不知真正的深奥便是最精简。
我是新手,我觉得:
工程模式:
1.提供对象,并且能够持有该对象,获得对象集中管理;
2。如果请求对象的人需要的是动物,那么工厂模式就可以强制的决定我给你供应猫,还是供应一条狗。请求者作为一个购买动物的顾客,太轻松改了,他只要getAnimal()就行,因为他的需求我们晓得,哈哈哈哈,,,
cfcan
2010-01-06
打赏
举报
回复
wishwish996
2009-09-24
打赏
举报
回复
工厂模式的作用是利于维护,扩散功能。工作量多少要看设计情况而定,这不是三言两语能说的清楚。
wishwish996
2009-09-24
打赏
举报
回复
工厂模式的作用是利于维护,扩散功能。工作量多少要看设计情况而定,这不是三言两语能说的清楚。
bsjialong
2009-02-03
打赏
举报
回复
michael556cdj 的一句话可讲到为了哦
我是新人,但是却能够理解,michael556cdj 说的很真实
至于楼上有人说mvc的分层应用也是有点道理的,不过不是回答这个问题的核心
michael556cdj
2007-08-11
打赏
举报
回复
工厂模式就是在声明的时候不知道到要什么对象
在使用的时候再实例化!采用接口或者基类调用!
dongwei2345
2007-08-11
打赏
举报
回复
你要确定一点
工厂模式针对的是多态
也就是说,你的类型如果可能有很多派生,使用工厂模式比较方便
如果你的需求是经常会添加的
比如会添加某个方法,那么使用工厂模式反而很麻烦
因为你要修改一连串的项目文件
sunzhong2003
2007-07-21
打赏
举报
回复
工产模式主要为了根据配置快速地切换数据库
巴巴爸爸巴巴爸爸
2007-07-21
打赏
举报
回复
建议看看设计模式之工产模式..
xuan.ye
2007-07-21
打赏
举报
回复
petshop是入门的没什么太大作用,只作为你了解ms的一个窗口,了解什么是数据集-模块-类型
建议看看范型工厂+缓存+分页存储过程
如果是一个程序员觉得petshop太优化了,太强大了,那说明问题很严重了
JustLovePro
2007-07-21
打赏
举报
回复
看你們吵的這么熱鬧,設計模式還真得好好看看了!
只是覺得自己功力不足,怕拿不下來!!!
樓上几位高手給個建議????
sunzhong2003
2007-07-21
打赏
举报
回复
vrhero,我晕了,如果抛开PETSHOP谈工厂模式,可以和你谈几天几夜估计都谈不完
什么叫本末倒置,具体问题具体分析嘛
vrhero
2007-07-21
打赏
举报
回复
一个模式的存在只是因为现实世界有这样的需求存在
-----------------
说的好...就是这个目的...
如果PETSHOP不为了跨数据库方便,那工厂在这里简直就是个累赘,工作量增加,性能下降
-----------------
首先PetShop是个Sample...Sample里面出现多么累赘的模式都是有道理的...因为它只是给人看的...其次数据库工厂只是工厂模式的一种具体应用...你本末倒置了...
sunzhong2003
2007-07-21
打赏
举报
回复
Jinglecat(晓风残月 >> 问题需简洁,错误要详细) 分析的不错
sunzhong2003
2007-07-21
打赏
举报
回复
项目不够大?
方便的使用接口,我不管它,接口里面的具体实现.
如果PETSHOP不为了跨数据库方便,那工厂在这里简直就是个累赘,工作量增加,性能下降
Jinglecat
2007-07-21
打赏
举报
回复
实际上,我没有发现 抽象工厂模式 的优点在哪里,一个模式的存在只是因为现实世界有这样的需求存在,而用抽象工厂模式刚好可以很好 petshop 欲支持多个数据库的问题,所以它就选择此模式了。
事实上,抽象工厂模式并没有petshop“显示”的那么简单,只是 4.0 运用了反射,减少了工厂的“量”,
模式的运用,并不会带来开发的简单性,主要是在系统的灵活性、可扩展性、可维护性,
比如,pet shop ,我现在若要换 sysbase 数据库了,只要插入一个 SysbaseDAL
这里 分层设计 与 抽象工厂模式没有直接的关系
与 MVC 模式倒是可以沾上边^_^
拙见~
vrhero
2007-07-21
打赏
举报
回复
使用工厂并不会让你觉得会减少工作量,方便维护估计还有点道理
------------------
你没有觉得会减少工作量是因为你的项目不够大...好像给你播种机、插秧机、联合收割机你的任务却是要种一亩三分地...你不但不会觉得工作量减少了反而无所适从...
Jinglecat
2007-07-21
打赏
举报
回复
先顶 vrhero(最瞧不起你们这些要代码的,一点技术含量都没有) 的分析
sunzhong2003
2007-07-21
打赏
举报
回复
不要随便说别人错
PETSHOP中的工厂模式就是为了扩展数据库用的
工厂模式的优点是为系统结构提供了灵活的动态扩展机制,这是它的通用优点
说简单点就是为了减少工作量方便维护,使用工厂并不会让你觉得会减少工作量,方便维护估计还有点道理
加载更多回复(4)
C#设计模式大全
C#设计模式(1) 一、 C# 面向对象程序设计复习 二、 设计模式举例 三、 先有鸡还是先有蛋? 四、 大瓶子套小瓶子还是小瓶子套大瓶子? 五、 .net本质 C#设计模式(2) 一、 "开放-封闭"原则(OCP) 二、 里氏代换原则(LSP) C#设计模式(3) 三、 依赖倒置原则(DIP) 四、 接口隔离原则(ISP) 五、 合成/聚合复用原则(CARP) 六、 迪米特法则(LoD) C#设计模式(4)-Simple Factory Pattern 一、 简单工厂(Simple Factory)模式 二、 Simple Factory模式角色与结构: 三、 程序举例: 四、 Simple Factory模式演化 五、
优点
与缺点: C#设计模式(5)-Factory Method Pattern 一、 工厂方法(Factory Method)模式 二、 Factory Method模式角色与结构: 三、 程序举例: 四、 工厂方法模式与简单
工厂模式
五、 Factory Method模式演化 六、 Factory Method模式与其它模式的关系 七、 另外一个例子 C#设计模式(6)-Abstract Factory Pattern 一、 抽象工厂(Abstract Factory)模式 二、 Abstract Factory模式的结构: 三、 程序举例: 四、 在什么情形下使用抽象
工厂模式
: 五、 抽象工厂的起源 六、 Abstract Factory模式在实际系统中的实现 七、 "开放-封闭"原则 C#设计模式(7)-Singleton Pattern 一、 单例(Singleton)模式 二、 Singleton模式的结构: 三、 程序举例: 四、 在什么情形下使用单例模式: 五、 Singleton模式在实际系统中的实现 六、 C#中的Singleton模式 C#设计模式(8)-Builder Pattern 一、 建造者(Builder)模式 二、 Builder模式的结构: 三、 程序举例: 四、 建造者模式的活动序列: 五、 建造者模式的实现: 六、 建造者模式的演化 七、 在什么情况下使用建造者模式 C#设计模式(9)-Prototype Pattern 一、 原型(Prototype)模式 二、 Prototype模式的结构: 三、 程序举例: 四、 带Prototype Manager的原型模式 五、 浅拷贝与深拷贝 六、 Prototype模式的
优点
与缺点 C#设计模式(10)-Adapter Pattern 一、 适配器(Adapter)模式 二、 类的Adapter模式的结构: 三、 类的Adapter模式示意性实现: 四、 对象的Adapter模式的结构: 五、 对象的Adapter模式示意性实现: 六、 在什么情况下使用适配器模式 七、 一个实际应用Adapter模式的例子 八、 关于Adapter模式的讨论 C#设计模式(11)-Composite Pattern 一、 合成(Composite)模式 二、 合成模式概述 三、 安全式的合成模式的结构 四、 安全式的合成模式实现 五、 透明式的合成模式结构 六、 透明式的合成模式实现 七、 使用合成模式时考虑的几个问题 八、 和尚的故事 九、 一个实际应用Composite模式的例子 C#设计模式(12)-Decorator Pattern 一、 装饰(Decorator)模式 二、 装饰模式的结构 三、 装饰模式示例性代码 四、 装饰模式应当在什么情况下使用 五、 装饰模式实际应用的例子 六、 使用装饰模式的
优点
和缺点 七、 模式实现的讨论 八、 透明性的要求 九、 装饰模式在.NET中的应用 C#设计模式(13)-Proxy Pattern 一、 代理(Proxy)模式 二、 代理的种类 三、 远程代理的例子 四、 代理模式的结构 五、 代理模式示例性代码 六、 高老庄悟空降八戒 七、 不同类型的代理模式 八、 代理模式实际应用的例子 设计模式(14)-Flyweight Pattern 一、 享元(Flyweight)模式 二、 单纯享元模式的结构 三、 单纯享元模式的示意性源代码 四、 复合享元模式的结构 五、 一个咖啡摊的例子 六、 咖啡屋的例子 七、 享元模式应当在什么情况下使用 八、 享元模式的
优点
和缺点 设计模式(15)-Facade Pattern 一、 门面(Facade)模式 二、 门面模式的结构 三、 门面模式的实现 四、 在什么情况下使用门面模式 五、 一个例子 六、 使用门面模式的设计 设计模式(16)-Bridge Pattern 一、 桥梁(Bridge)模式 二、 桥梁模式的结构 三、 桥梁模式的示意性源代码 四、 调制解调器问题 五、 另外一个实际应用Bridge模式的例子 六、 在什么情况下应当使用桥梁模式 设计模式(17)-Chain of Responsibility Pattern 一、 职责链(Chain of Responsibility)模式 二、 责任链模式的结构 三、 责任链模式的示意性源代码 四、 纯的与不纯的责任链模式 五、 责任链模式的实际应用案例 六、 责任链模式的实现 设计模式(18)-Command Pattern 一、 命令(Command)模式 二、 命令模式的结构 三、 命令模式的示意性源代码 四、 玉帝传美猴王上天 五、 命令模式的实现 六、 命令模式的实际应用案例 七、 在什么情况下应当使用命令模式 八、 使用命令模式的
优点
和缺点 设计模式(19)-Observer Pattern 一、 观察者(Observer)模式 二、 观察者模式的结构 三、 观察者模式的示意性源代码 四、 C#中的Delegate与Event 五、 一个实际应用观察者模式的例子 六、 观察者模式的优缺点 设计模式(20)-Visitor Pattern 一、 访问者(Visitor)模式 二、 访问者模式的结构 三、 示意性源代码 四、 一个实际应用Visitor模式的例子 五、 在什么情况下应当使用访问者模式 六、 使用访问者模式的
优点
和缺点 设计模式(21)-Template Method Pattern 一、 模板方法(Template Method)模式 二、 模版方法模式的结构 三、 模板方法模式的示意性代码 四、 继承作为复用的工具 五、 一个实际应用模板方法的例子 六、 模版方法模式中的方法 七、 重构的原则 设计模式(22)-Strategy Pattern 一、 策略(Strategy)模式 二、 策略模式的结构 三、 示意性源代码 四、 何时使用何种具体策略角色 五、 一个实际应用策略模式的例子 六、 在什么情况下应当使用策略模式 七、 策略模式的
优点
和缺点 八、 其它
PHP设计模式之
工厂模式
实例总结
本文实例讲述了PHP设计模式之
工厂模式
。分享给大家供大家参考,具体如下: 使用
工厂模式
的目的或目标?
工厂模式
的最大
优点
在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。 减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。 通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。 假设不使用
工厂模式
:那么很多地方调用类a,代码就会这样子创建一个实例:new a(),假设某天需要把a类的名称修改,意味着很多调用的代码都要修改。
工厂模式
的
优点
就在创建对象上。
工厂模式
的
优点
就在创建对象上。建立一个工厂(一个函数或一个类方法)来制造新的对象,它的任务就是
工厂模式
的
优点
Question 1 : troubleshooting:昨天面试官问我,你认为
工厂模式
的
优点
是什么? Answer :我回答道,原来创建一个对象是自己new,而现在可以直接通过工厂将我需要的对象直接给我。 面试官又说,还有其他呢,有没有使用
工厂模式
写过计算器?没有,我答道。 回来之后,使用基于简单
工厂模式
和工厂方法模式分别写了一下简单的计算器实现。细细品味了
工厂模式
的好处。 就目前...
什么是
工厂模式
?
工厂模式
的作用?为什么要使用
工厂模式
?
工厂模式
工厂模式
(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在
工厂模式
中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,
工厂模式
使其创建过程延迟到子类进行。 主要解决:主要解...
为什么要使用
工厂模式
,
工厂模式
具有哪些
优点
看了网上不少关于
工厂模式
的例子,最近出去面试的时候被问到了才突然想到为什么我们要使用
工厂模式
,
工厂模式
能给我们带来哪些好处。 什么是
工厂模式
工厂模式
(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在
工厂模式
中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 这是
工厂模式
的定义,我们自然就不必多说了,主要想写一下使用
工厂模式
具备了哪些优势。 使用
工厂模式
的好处 解耦 通过
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章