随笔分类 - 设计模式
摘要:搬运:http://c.biancheng.net/view/1369.html 前言 在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。 软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的
阅读全文
摘要:搬运:http://c.biancheng.net/view/1366.html 前言: 在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。
阅读全文
摘要:搬运:http://c.biancheng.net/view/1364.html 前言 在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有
阅读全文
摘要:搬运:http://c.biancheng.net/view/1361.html 前言 在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的
阅读全文
摘要:搬运:http://c.biancheng.net/view/1359.html 前言 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找
阅读全文
摘要:搬运:http://c.biancheng.net/view/1354.html 前言 在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算
阅读全文
摘要:搬运:http://c.biancheng.net/view/1351.html 前言 在工厂方法中我们考虑的是一类产品生产,即一个工厂只能够生产一类产品。如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。 同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的
阅读全文
摘要:搬运:http://c.biancheng.net/view/1348.html 前言 在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满
阅读全文
摘要:一、原型模式的定义与特点 在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。 原型(Prototype)模式的定义如下: 用一个已经创建的实例作为原型,通过复制该原型
阅读全文
摘要:搬运:http://c.biancheng.net/view/1338.html 一、单例模式的定义与特点 1.单例(Singleton)模式的定义: 指一个类只有一个实例,且该类能自行创建这个实例的一种模式。 例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造
阅读全文

浙公网安备 33010602011771号