工厂模式的好处
工厂模式是我们最常用的实例化对象模式了,工厂模式在Java程序系统可以说是随处可见。它的好处有:
1、工厂模式可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任。
2、客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。
3、通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。
为什么要使用工厂模式
问题一:为什么要使用工厂模式? 工厂这个模式它可以隐藏函数的具体实现,并且更加具有封装性,更加的面向对象,这些东西在基耽的编写小程序上并体现不出什么优越性,但在一个大项目中,就显得很重要了,
打个比方就像你如果说只有两三本书,你不需要什么归类放着,但你如果有一个图书管那么多书的话,放书就要有一定的规章,章法,这样就好管理,变更,查找
问题二:为什么要用简单工厂模式 保证代码的可复用,各个子类完全分离,避免了更高代码无意中把原来好的源代码改错,对于开发公司来说,个人自用负责自己对应的子类,就行了,公司也不用把别的子类给你,
===============
如果现在公司要求你为公司的薪资管理系统做维护,原来只有技术人员(月薪) ,市场销售人员(底薪+提成),经理(年薪+股份)三种运算算法,现在要增加 *** 工作人员的(时薪)算法,但按照前面的程序写法,公司就必须要把包含有的原三种算法的运算类给你,让你修改,你如果心中小算盘一打,‘TMD,公司给我的工资这么低,我真是郁闷,这会有机会了’,于是你除了增加了 *** 算法以外,在技术人员(月薪)算法中写了一句
if (员工是自己)
{
salary = salary * 1.1;
}
那就意味着,你的月薪每月都会增加10%(小心被抓去坐牢),本来是让你加一个功能,却使得原有的运行良好的功能代码产生了变化,这个风险太大了。我们应该把加减乘除等运算分离,修改其中一个不影响另外的几个,增加运算算法也不影响其它代码”
这时候就需要用到 简单工厂模式了
问题三:java里使用工厂模式到底有什么好处? 如果有许多地方都需要生成A的对象,那么你需要写很多A a=new A()。
如果需要修改的话,你要修改许多地方。
但是如果用工厂模式,你只需要修改工厂代码。其他地方引用工厂,可以做到只修改一个地方,其他代码都不动,就是解耦了。
问题四:使用工厂模式对于设计软件有什么好处? 工厂模式为什么叫做工厂模式? 在满足一定开闭原则的基础之上,使得软件具有一定的封装性和层次结构性,以及各类完成任务的单一性;
之所以叫做工厂模式,其实就是想我们在开发软件的时候联系到社会上的实际情况,社会上的工业流程大多也遵照工厂模式!
上述均个人理解..
问题五:为什么要在JAVA工厂模式中使用静态方法 百度了一下,发现百度了一堆垃圾,根本没有找到自己想要的答案。后来去Stack Overflow,果然找到了相关的问题。因为是英文的,所以翻译过来并综合整理了一下。 为什么要在工厂模式中使用静态方法 工厂模式是一种封装对象创建的方法。如果不使用工厂模式,你就需要直接使用构造方法来创建对象:Foo x = new Foo() 使用工厂模式,就可以取而代之的调用工厂方法:Foo x = Foo.create() 工厂类的构造方法被标记为private,所以构造方法除了在类的内部被调用以外就不能够被访问。工厂类的其他方法被标记为static,这样就不需要在调用该方法之前必须首先拥有一个该类的对象。 使用工厂模式有一些好处。
问题六:有必要所有类都用简单工厂模式创建吗 简单工厂模式一般用在继承类比较多的情况下,只要声明其父类,子类通过工厂就可以创建出来
而客户端就不用关心具体子类怎么实现了
如果你的子唬就一两个,那就没这个必要
好几种设计模式都是相互矛盾的,要看适用的环境
刚开始学都是这样,生搬硬套反而适得其反
再好好看看书,设计模式不是那么好领悟的
问题七:用 工厂模式开发有什么好处,在什么情况下用工厂模式开发 工厂生产产品,工厂模式实例化对象,当你需要实例化一个对象,并且有不止一个选择(所有供选择的类都实现了同一个接口)的时候针对这一情况写一个通用的方法(方法返回类型是那个共用的接口),这就是工厂模式了。
问题八:实际开发中哪些场景需要用到工厂模式 一般的MVC框架中,都有一个基本的DB数据库基本操作类
我叫它DB class,有一个baseModel class 去继承 db class
baseModel 是所有框架model的基类,需要继承baseModel
baseModel已经有db类的
增删查改的方法了,baseModel其实就是数据库工厂,不同的模型继承baseModel,就有操作不同数据表的对象实例了,这样就用一个基础的class
完成了实例化各个不同数据表的对象,就好像是工厂一样,传不同的表名字就返回给你不同的对象。
问题九:为什么手机按开机键和音量键进入的是工厂模式 Recovery模式刷机方法:
步骤一、首先要确定手机是否刷入了Recovery ,如果没有的需要刷入Recovery才能进入Recovery进行刷机。
步骤二、然后在进入设置把USB调试关闭掉,把刷机包复制到SD卡里面。关闭了USB调试才能读取出来手机内存。
步骤三、然后在进入recovery模式,进入recovery模式的按键有的不一样。有的可以从电脑控制进入recovery模式,有的按着开机键+音量键就能进入recovery模式。进入recovery模式之后先清除所有的数据。
步骤四、然后在清除手机里面的缓存数据,这些操作上下就可以使用音量键调节。确定就是开机键。步骤五、然后在选择刷机包,一般是装在SD卡上面的。所以从SD卡上面选择刷机包。
步骤六、刷机包是ZIP文件,点击从SD卡上面选择ZIP文件。然后选择刷机包的文件点击确定即可。
按着电源键重新启动即可退出。
问题十:之前一直不明白工厂模式的好处是什么,就是为什么不用new,有人说假如有成百上千和地方都用的是new 工厂模式是多态的一个应用,new对象的时候都用父类引用,更改的时候就不用变
C#综合练习,里面包括简单工厂方法,工厂方法,原型模式,单列模式
1.简单工厂模式:根据参数返回实例,将对象的创建与对象的使用分开,适用于功能简单的同一类对象模块创建,此模式因比较简单和本身不符合设计原则并不在主要23种设计模式之中。
2.工厂方法模式:为简单工厂方法模式延伸,继承了简单工厂方法模式包装类的创建(一些比较复杂),简化使用者代码,克服了简单工厂方法模式不符合开闭原则的缺陷;缺点增加了代码的抽象度和理解难度,并给系统带来额外开销;适合系统内部功能组建。
c#中的工厂模式的好处
用静态方法出错的原因:应该是你的程序没设计好。工厂模式的好处:工厂方法为系统结构提供了非常灵活强大的动态扩展机制,只要我们更换一下具体的工厂方法,系统其他地方无需一点变换,就有可能将系统功能进行改头换面的变化。在现在VS2005开发中还用这种模式吗:现在不止是vs2005,包括其它的面向对象编程语言,工厂模式用的都很广范哦