永发信息网

编程中所说的 工厂模式 是什么意思??

答案:1  悬赏:20  手机版
解决时间 2021-03-12 17:06
编程中所说的 工厂模式 是什么意思??
最佳答案
您好,
工厂模式基本上是最常用的设计模式之一,设计模式通俗的来说就是“做某件事的揣用的方法”,这些方法都是被广泛使用、经过长时间“考验”的,对于解决某个特定的问题有非常好的效果。
设计模式基本上到了“软件设计”的层面,它与具体的程序设计语言无关,也没有实现,只是包含了一个大致的架构,它是一种思想。
如果您想学习设计模式,我推荐两本书:《设计模式:可复用面向对象软件的基础》和《设计模式精解》,书很枯燥,但绝对是程序员必读教材。
工厂模式我大致解释一下,比如写一个word那样的程序,它可以打开doc、rtf、txt等好几种文件格式,而对于这些文件的处理方法是不同的,比如txt就不能保存文字颜色字体之类的信息,那么我可能这样设计:
word主程序,一个类Application,它有一个虚方法(或抽象方法,不过C#中抽象方法只能在抽象类里)叫OpenFile,用来打开指定的文件,然后返回一个Doucument类的实例,这个类可以直接把它的内容显示在屏幕上,word处理的主体是这个类。这个Application类还有很多方法比如关闭打印之类的。
然后从Application类派生出一个子类TxtApplication,父类中OpenFile是虚方法,没有实现,在子类中重写这个方法,打开Txt文档,读取txt文件,然后返回一个Document类。
然后再从Application里派生一个子类RichTxtApplication,也重写OpenFile,它打开rtf文档,从里面读取相应的文档和文档的格式信息,然后也返回一个Document类。
最后,根据一定的策略(比如用户要打开的文件的扩展名是“txt”,就实例化一个txtApplication,然后调用它的OpenFile方法获得Document;如果扩展名是“rtf”,就实例化一个rtfApplication,调用它的OpenFile方法获得Document)。
这样,Application类中的OpenFile方法就叫做工厂方法,这种“一个类希望由它的子类指定它所创建的对象”的方法就是工厂模式。
这样说可能太抽象了,设计模式不是很容易就能说清楚的,建议您看看那两本书。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英雄杀苹果和安卓能一起刷过关斩将么
电瓶车我才用了4个月电瓶为什么不存电了?
新东植物油厂地址在哪,我要去那里办事
邹平县中医院南门在什么地方啊,我要过去处理
粘银子的胶水。
请问,1-1的人过来看看,用+7的面具换稀高龙斧
请问下Acer E1-471G-52454G50Mnks有蓝牙功能
在单位投五保,现在辞职想自己投两保关系应该
周至县教育局 普教科长是谁
星村邮政支局怎么去啊,有知道地址的么
2015 excel下拉菜单怎么做
与木有关的职业有哪些
晨光文具康庄路店我想知道这个在什么地方
苹果用英文怎么说
桃子最好的储存方法是什么
推荐资讯
护国寺金刚殿怎么样
蒂贝丽儿健康会所地址在什么地方,想过去办事
浙江天健工程造价咨询有限公司怎么去啊,有知
Gummy-3300mm3怎么打开文件
浩勒图音塔拉我想知道这个在什么地方
如何编译配置Apache中的Configure
我老婆老说离婚的女人最吃香。是不是。是不是
他是不是骗我的 该不该信 他说的是货到付款
奥比岛冲红宝石的多多号和密码大全
梦到打死金蛇是什么预兆
石家庄最大的外货原单运动服饰批发在哪
外国人会觉得颜值高的中国人好看吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?