设计模式之一对多

创建型模式一组比赛中我们来对比一下单例模式和原型模式,首先邀请单例小姐和原型小姐上场。在台上我们就听见Fans的呼喊声了,“单例单例,你最美丽,一人穿件,全家获益!”,“给我一个原型,我能创造真个世界!”,呼叫声此起彼伏,声声不断。

究竟他们之间有什么不同的呢?我们来做一下比较。

【单例模式】:跟竹米一生只开一次花一杨,单例模式只实例化一次。

保证一个类仅有一个实例,并提供一个访问它的全局访问点。可以防止实例化多个对象,让类自身负责保存它的唯一实例,其实就是强调骨感就是美。竹米一生只开一次花,开过花之后就会死去。咱们这个单例模式就是只实例化一次,就跟只开一次花一样。如果再想实例化,只能say sorry!

【原型模式】:跟克隆技术一样,可以创造多个对象。

通过拷贝可以创造整个世界,感觉原型模式很强大。实现了了创建多个对象,而我们新创建的时候不需要知道知道任何创建的细节,只需要一个命令就可以得到新的对象。就跟我们复印简历一样,给复印机一个模板,无需知道复印机如何工作的细节,就可以轻松产生几十份简历,这样就省去了大麻烦,同时达到了代码的复用。

总结:对比这两个模式,我们发现虽然都属于创建型模式,但各自又有自己的不同,单例模式只允许实例化一次,更加骨干,而原型模式可以创建多个对象,显得更加丰满。还记得Fans的口号吗?记住口号就能更好的理解模式的含义了。具体只要用到那个模式,还要根据具体情况来分析,我们有很多实践的机会,相信对设计模式认识更深刻。

时间: 2024-10-24 22:12:57

设计模式之一对多的相关文章

Java设计模式

鲁春利的工作笔记,好记性不如烂笔头 Java中的24种设计模式与7大原则 一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.3.工厂模式(factory method pattern): 定义了一个创建对象

Java开发中的23种设计模式详解(转)

设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周

23种设计模式【转】

23种设计模式 目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton(单例) 结构型 6. Adapter Class/Object(适配器) 7. Bridge(桥接) 8. Composite(组合) 9. Decorator(装饰) 10. Facade(外观) 11. Flyweight(享元) 12. Proxy(代理) 行为型 13.

【读书笔记】设计模式第6章:行为型模式2

本文主要分析了中介者模式.观察者模式.备忘录模式.访问者模式.状态模式.解释器模式,介绍它们的定义.优缺点.使用场景,以及实例代码.为了深刻地理解设计模式,最重要的还是动手编写代码. 我参照书中的例程重新构想了一些更加生动.易于理解的例子,希望大家喜欢. 代码可以通过以下链接进行浏览: http://git.oschina.net/caipeichao/java-design-pattern 这些代码都经过编译运行,保证没有错误. 中介者模式 定义 也叫调停者模式 用一个中介对象来封装一系列同事

设计模式之二:观察者模式(Observer Pattern)

先看下观察者模式的定义: The Observer Pattern defines a one-to-many denpendency between objects so that when one object changes state, all of its dependents are notified and updated automatically.:观察者模式定义了对象间一对多依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新. 观察者模式又叫发布-

设计模式之观察者模式

观察者模式又称发布-订阅模式,是一种行为型模式.在此种模式中,一个目标物件管理所有相依于它的观察者物件, 并且在它本身的状态改变时主动发出通知.这种模式通常用来实现事件处理系统. 观察者模式完美的将观察者和被观察的对象分离开,在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性. 观察者模式定义了对象间的一种一对多的依赖关系,以便一个对象状态发生变化时,所有依赖于它的对象都得到通知并自动刷新. 实现方式: 观察者模式有很多实现方式,从根本上说,该模式必须包含两个角色:观察者和被观察对象.

设计模式总纲

开闭原则:一个软件实体应当对扩展开放,对修改关闭. 就是说在不修改的前提下,仅依靠添加新代码来改变这个模块的行为. 通过扩展已有的软件系统提供新的行为满足对新需求,使变化中的软件系统有一定的适应性和灵活性.另外,重要的抽象层模块不能修改,使得变化中的软件系统具有一定的稳定性和延续性. 个人理解就是软件系统的取舍之道,在不失重心的前提下最大化的支持功能拓展. 里氏替换原则:所有引用基类的地方必须能透明的使用其子类的对象. 这个模式是为了更好的使用继承.使用继承也会增加模块之间的耦合度甚至会引发不可

转23种设计模式

1.FACTORY 追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"来四个鸡翅"就行了.麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开.消费者任何时候需要某种产品,只需向工厂请求即可.消费者无须修改就可以接纳新产品.缺点是当产品修改时,工厂类也要做相应的修改.如:如何创建及如何向客户端提供. 2.BUILDER MM最爱听的就是"我爱你"这句话了,见到不同

作业06之《软件设计模式》

我们在上个学期的课上已经学过了设计模式,但是都是在系统学习的基础上去认识软件设计模式的.所以后来在网上查了很多资料增加了很多自己的认识. 模式的含义其实就是对前人经验的总结,设计模式初期也是起源于建筑领域,它的目的就是为后人设计与开发基于面向对象的软件提供指导方针和成熟的解决方案,可以被认为是对软件开发这一问题的解法的某种统一表示,是在一定条件下出现的问题以及解法. 设计模式有一个定义:设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式是为了可重用代码.让代