- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                设计模式考试复习
                    1简单工厂模式定义:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。优点:工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象.通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来,仅仅需要负责消费对象就可以了。而不必管这些对象究竟如何创建及如何组织的.明确了各自的职责和权利,有利于整个软件体系结构的优化。缺点:集中所有的创建逻辑,一旦不正常,整体都会受影响。扩展相对困难。本质:选择实现应用场景:如果想要完全封装隔离具体实现,让外部只能通过接口来操作封装体,则可以用简单工厂模式。Uml图:实例1计算器:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 计算器{    public class Operation{        private double numberA = 0;        private double numberB = 0;        public double NumberA        {            get { return numberA; }            set { numberA = value; }        }        public double NumberB        {            get { return numberB; }            set { numberB = value; }        }        public virtual double GetResult()        {            double result = 0;            return result;        }    }    class OperationAdd : Operation//加法类    { public override double GetResult()        {            double result = 0;            result = NumberA + NumberB;            return result;        }    }    class OperationSub : Operation//减法类    {        public override double GetResult()        {            double result = 0;            result = NumberA - NumberB;            return result;        }    }    class OperationMul : Operation//乘法类    {        public override double GetResult()        {            double result = 0;            result = NumberA * NumberB;            return result;        }    }    class OperationDiv : Operation//除法类    {        public override double GetResult()        {            double result = 0;            if (NumberB == 0)                throw new Exception(除数不能为0);            result = NumberA / NumberB;            return result;        }    }    public class OperationFactory    {        public static Operation createOperate(string operate)        {            Operation oper = null;            switch (operate) 
                您可能关注的文档
最近下载
- 2025年北京市顺义区高二数学上册期中考试试卷及答案.docx VIP
- 三级查房制度整改措施方案.docx VIP
- (正式版)D-L∕T 461-2019 燃煤电厂电除尘器运行维护导则.docx VIP
- (翼人2024版)科学二年级上册2.6 看不见的力 课件(新教材).pptx
- 《虚拟电厂建设及运营技术规范》.pdf VIP
- Tosmana中文使用手册.docx VIP
- 中外味觉词汇比较研究.docx VIP
- 2025-2026学年人教版(2024)广东省八年级数学第一学期第十五章轴对称 单元达标练习卷(含答案).docx VIP
- 2025年全国两会看点解读PPT课件.ppt VIP
- 北京版小学三年级英语试卷.pdf VIP
 原创力文档
原创力文档 
                         
                                    

文档评论(0)