1 / 5
文档名称:

浅析23种软件设计模式.docx

格式:docx   大小:63KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

浅析23种软件设计模式.docx

上传人:pppccc8 2019/4/28 文件大小:63 KB

下载得到文件列表

浅析23种软件设计模式.docx

相关文档

文档介绍

文档介绍:浅析23种软件设计模式1、 工厂模式(FactoryPattern):客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也耍做相应的修改。女口:如何创建及如何向客户端提供。工厂模式(FactoryPattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。应用实例:1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个;气车里面的具体实现。2、Hibernate换数据库只需换方言和驱动就可以。优点:1、一个调用者想创建一个对象,只要知道其名称就可以了。2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。3、屏蔽产品的具体实现,调用者只关心产品的接口。缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。使用场景:1、日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。2、数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。3、设计一个连接服务器的框架,需要三个协议,"POP3"、"IMAP"、"HTTP",可以把这三个作为产品类,共同实现i接口。注意事项:作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过new就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。2、 建造模式(BuilderPattern):将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表彖的产品对彖°建造模式使得产品内部表彖可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。3、 工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪-个产品类应当被实例化这种细节。4、原始模型模式:通过给出一个原型对象來指明所耍创建的对象的类型,然后川复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产站类,产品类不需要非得冇任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。5、单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的"单一实例”的需求时才可使用。单例模式(SingletonPa社ern)是Java中最简单的设计模式之一。

最近更新

《爱丽丝梦游仙境》读书笔记 5页

简易个人房屋转让合同 2页

2024年人教版科学六年级上册教学计划3篇 12页

2024年人教版小学数学课程三年级下册《年月日.. 22页

大学生创业基础期末考试(20) 48页

2024年人教版四年级上册语文《观潮》教学设计.. 13页

多元文化的市公开课获奖教案省名师优质课赛课.. 5页

数字化转型下的家电投融资模式创新 31页

声乐市公开课获奖教案省名师优质课赛课一等奖.. 4页

城市美容师试讲市公开课获奖教案省名师优质课.. 5页

垃圾社会市公开课获奖教案省名师优质课赛课一.. 3页

场馆服务市公开课获奖教案省名师优质课赛课一.. 5页

跑腿类app招股说明书 7页

超高效节能电机商业计划书 4页

房地产开发与投资中的区域差异与比较研究 33页

知识图谱与数据分析融合 32页

哈巴狗市公开课获奖教案省名师优质课赛课一等.. 4页

咕噜咕噜咕噜市公开课获奖教案省名师优质课赛.. 4页

象棋培训商业计划书 5页

胶粘剂行业技术创新与产业升级 33页

弱监督学习技术在音频分类中的研究 33页

搪瓷卫生洁具行业技术标准制定 33页

精神专科健康宣教ppt课件 27页

学习《土地管理法》专题研讨发言材料 3页

我的假期镣铐生活 1页

常用词根词缀表(综合整理) 64页

2022年黄河流域地表水资源质量公报 24页

海口市美兰区海甸溪北岸旧城改造拆迁补偿安置.. 14页

中考语文冲刺最后复习攻略 6页

合成立方氧化锆ppt课件 17页