- 2
- 0
- 约4.99千字
- 约 9页
- 2017-08-19 发布于重庆
- 举报
设计模式-简单工厂(facotry)工厂方法(actorymethod)抽象工厂(abstractfactory)
设计模式学习之简单工厂(simple facotry)、工厂方法(actory method)、抽象工厂(abstract factory)一.简单工厂(Simple Factory)GOF没有把简单工厂作为设计模式之一列出。但是为了学习后面的两种工厂模式,还是先来了解一下简单工厂。作用:专门由一个类来决定实例化哪个产品类实现要点:可能很多人平时都不知不觉地使用了简单工厂。简单工厂就是把决定实例化哪个类的方法放到一个单独的类(所谓的工厂类)里。UML:代码:abstractclass Product {publicabstractvoid showProduct(); }class ProductA : Product {publicoverridevoid showProduct() { Console.WriteLine(this is productA); } }class ProductB : Product {publicoverridevoid showProduct() { Console.WriteLine(this is productB); } }//factoryclass Factory {public Product getProduct(int type) {if (type == 0) {returnnew ProductA(); }else {returnnew ProductB(); } } }//---------------执行-----------------class Program {staticvoid Main(string[] args) { Factory f = new Factory(); Product p1 = f.getProduct(0); Product p2 = f.getProduct(1); p1.showProduct(); p2.showProduct(); Console.ReadLine(); } }?二.工厂方法(Factory Method)作用:工厂方法是简单工厂的“再抽象”,不在某个类里直接决定实例化哪个产品类,而是把这个决定延迟到它的子类里面。(至于为什么要抽象出父类,参见之前的文章“父类引用指向子类对象”)。实现要点:抽象工厂类,由其子类决定实例化哪个产品类。UML:代码:abstract class Product {publicabstract void showProduct(); } class ProductA : Product {publicoverride void showProduct() { Console.WriteLine(this is productA); } } class ProductB : Product {publicoverride void showProduct() { Console.WriteLine(this is productB); } }//factoryabstract class Factory {public abstract Product getProduct(); } class FacotryA : Factory {public override Product getProduct() {return new ProductA(); } } class FacotryB : Factory {public override Product getProduct() {return new ProductB(); } }//--------------------执行------------------------ class Program {staticvoid Main(string[] args) { Factory[] f = new F
您可能关注的文档
- 花式喷水池PLC控制.doc
- 苏东海-2011110904-操作系统课程论文-Final.doc
- 苗文武老师平面设计coreldraw笔记.doc
- 英文介绍_英文自我介绍.doc
- 英文的偏旁字首.doc
- 英文翻译格式参考模板.doc
- 英语单词词根表.doc
- 英语单词说文解字.doc
- 英语套句2第5组.doc
- 英语单词的偏旁部首252字根.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)