`
mmdev
  • 浏览: 12947517 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

对创建型模式的再思考

 
阅读更多

1.简单工厂模式:只是将对象从客户端剖离,交给工厂创建,如果要创建的对象很多,工厂类就会很庞大并且增加判断逻辑。

2.工厂方法模式:对每个对象单独建立工厂类,明确类的职责,但当对象很多时仍需要编写很多额外代码。可利用Java反射机制。

3.抽象工厂模式:当需要创建的对象之间存在相互关系,可以分组,每组实现一个具体的工厂类继承抽象工厂类。但如果业务改变,需要修改抽象工厂类设计,还要修改具体工厂类设计,代码维护量加大。

4.创建者模式:将复杂对象的构建与其表示分离,使得同样的创建过程可以创建不同的表示,组装类负责组装对象的组装,客户端只负责调用组装类,明确了类的职责。当有多个差异较大的对象需要创建者时,可以结合工厂模式。

5.原型模式:使用对象的克隆,创建与原型对象具有类似行为的新对象。缺点是在使用clone方法时会衍生出一些深度克隆的问题,还要考虑StringBuffer,String类在克隆时的例外情况。

6.单例模式:当需要一个类只有一个实例存在,只提供一个全局调用指针时,要使用单例模式。使用静态变量实现。在使用单例模式时,需要考虑很多例外,比如多线程环境和对象序列化和反序列化时有可能使得单例类出现多个实例的情况。典型应用在日志管理,数据库连接中。

分享到:
评论

相关推荐

    论文_高职院校产学合作人才培养模式创建的实践与思考

    自20世纪90年代中期产学合作人才培养模式引入我国以来,已...首先,对创建产学合作人才培养模式存在的问题进行了分析;其次,提出了创建产学合作人才培养模式的策略;最后,提出了创建产学合作人才培养模式需注意的问题

    设计模式 GOF 23

    3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—对象结构型 模式 100 4.3 Composite(组成)—对象结构型 模式 107 4.4 Decorator(装饰)—对象...

    设计模式:可复用面向对象软件的基础--详细书签版

    3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 adapter(适配器)—类对象结构型 模式 92 4.2 bridge(桥接)—对象结构型 模式 100 4.3 composite(组成)—对象结构型 模式 107 4.4 decorator(装饰)...

    javascript-Design-Patterns:设计模式

    《设计模式》一书共归纳了23种设计模式,这些设计模式被分为三大类:创建型模式,结构型模式,行为型模式 本文为《 JavaScripti计模式与开发实践》一书的学习与思考。 基础知识 设计模式 创建型模式:封装创建对象...

    由表及里看模式

    二、回顾23种设计模式 先来回顾下这23种经典的设计模式吧,下图给出了GOF对它们的分类: 图中从两个纬度将23种设计模式划分为六大类:创建型类模式、创建型对象模式、结构型类模式、结构型对象模式、行为型类模式...

    第一章 Caché 设计模式 简单工厂模式

    简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例。 使用场景 工厂类负责创建的对象比较少。 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑。 优点 ...

    asp.net知识库

    DbHelperV2 - Teddy的通用数据库访问组件设计和思考 也论该不该在项目中使用存储过程代替SQL语句 如何使数据库中的表更有弹性,更易于扩展 存储过程——天使还是魔鬼 如何获取MSSQLServer,Oracel,Access中的数据字典...

    “大数据”的认识与思考.doc

    根据这一计划,美国希望利用大数据技术 再多个领域实现突破,包括科研教学、环境保护、国土安全等,此举标志着,美国把应 对大数据技术革命带来的机遇和挑战,提高到国家战略层面,形成了全体动员格局。随 后,英国...

    任务驱动教学在《计算机绘图》课程中的应用.docx

    如对于创建三维模型任务,应需先绘制二维图形,再实现三维建模。然后学生确定每个二维绘图的步骤和三维建模的方法上机操作并完成任务,教师可进行相关绘图技能的指导。最后教师评价任务完成情况,总结学习的知识点。...

    NetSupport School 课堂管理软件(简体中文版)

    将先进的课堂 PC监视、实时演示和加注工具同创新型客制化测验套件、互联网和应用程序控制、实时音频监听、自动化课程设计、打印机管理、即时通讯控制、内容监控及桌面安全等功能结合起来,可以完全应对和满足当今...

    写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

    15.3.1 创建型模式 235 15.3.2 结构型模式 239 15.3.3 行为型模式 241 15.4 反模式 242 15.5 小结 243 15.6 参考书目 243 15.7 本章使用的示例代码 243 15.7.1 C#.NET 244 15.7.2 VB.NET 247 索引 250

    网页与Web程序设计 课件 ppt 机械工业出版社 part1

    5.5 设置布局模式的首选参数 87 5.6 框架的使用 88 5.6.1 关于框架和框架集 88 5.6.2 创建框架和框架集 89 5.6.3 选择框架和框架集 93 5.6.4 保存框架和框架集文件 94 5.6.5 设置框架和框架集属性 95 5.6.6 ...

    oracle数据库笔记

    多数为老师留下的思考题目。 我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 第一讲 Oacle关系数据库 9 一. Oracle的安装 9 二. 用浏览器进入em 企业管理器 11 三.启动DBCA...

    数据库设计综合应用.doc

    (7)储蓄所的信息有:编号、名称、电话、地址、负责人 (8)储户进行存取款时应该提供账号、存取标志(1:表示存款,0:表示取款)、存取金额 、存取日期等信息,储蓄所首先要对储户的身份进行验证,对合法的储户再根据...

    Oracle 10g 开发与管理

    多数为老师留下的思考题目。 我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 目录 第一讲 Oacle关系数据库 9 一. Oracle的安装 9 二. 用浏览器进入em 企业管理器 11 三....

    AI智能人工智能解决方案.pptx

    人机交互 主要运用到的技术包括机器人学和模式识别技术,机器人可以模拟人的行为,而模式识别则能使用计算机模拟人类器官对外界的各种感知。 知识和数据智能处理 知识处理时通常使用专家技术,它能运用特定领域中...

    Hadoop实战中文版

    2.2.2 验证SSH安装 2.2.3 生成SSH密钥对 2.2.4 将公钥分布并登录验证 2.3 运行Hadoop 2.3.1 本地(单机)模式 2.3.2 伪分布模式 2.3.3 全分布模式 2.4 基于Web 的集群用户界面 2.5 小结 第3章 Hadoop组件...

    Hadoop实战(陆嘉恒)译

    用Pig编程10.1 像Pig 一样思考10.1.1 数据流语言10.1.2 数据类型10.1.3 用户定义函数10.2 安装Pig10.3 运行Pig10.4 通过Grunt 学习Pig Latin10.5 谈谈Pig Latin10.5.1 数据类型和schema10.5.2 表达式和函数10.5.3 ...

    数据库资料

    ——信誉值大于5的用户才能够加入会员列表 …… 完整性包括… 实体完整性域完整性引用完整性自定义完整性表操作创建数据库表 SQL Server的数据类型思考创建数据库表思考创建数据库表思考选择主键的原则创建数据库表...

Global site tag (gtag.js) - Google Analytics