设计模式----看大话设计模式笔记(二)

9.原型模式(Prototype): 用原型实例指定创建对象的种类,并通过拷贝这些原型创建行的对象。

UML图:

原型模式其实就是从一个对象创建另一个可定制的对象,并且不需要知道任何创建的细节。

.NET 中实现ICloneable接口即可。

一般在初始化信息不发生变化的情况下,克隆是最好的办法,隐藏了对象创建的细节,又提高了性能。

MemberwiseClone()方法,如果字段是值类型,对该字段进行逐位复制;如果是引用类型,复制引用但是不复制引用的对象,因此原始对象及产生的副本引用同一对象。

浅复制,被复制出来的对象的所有的变量都与原来的对象有相同的值,而所有对其他对象的引用,都任然执行原来的值。

但是要注意string类型的特殊性,字符串的不可变性,浅复制后其实就相当于新建了,因为若对其赋值,不会改变原有的对象的指向,而是新建了一个字符串对象。

设计模式----看大话设计模式笔记(二),布布扣,bubuko.com

时间: 2024-12-26 13:05:24

设计模式----看大话设计模式笔记(二)的相关文章

设计模式----看大话设计模式

OOP编程原则: 1.开闭原则(OCP : Open-Close Principle):对扩展开放,对修改封闭 2.依赖倒置(DIP: Dependency Inversion Principle): 依赖于抽象,不依赖于具体 3.替换原则(LSP): 父类能够出现的地方,子类都能够出现. 4.接口隔离原则(ISP): 接口功能尽可能单一,不要做功能繁多臃肿的接口 5.单一职责原则(SRP): 就一个类而言,应该仅有一个引起它变化的原因. 如果一个类的职责过多,就等于把这些职责耦合在一起,一个职

设计模式("大话设计模式"读书笔记 C#实现)

前言:毫无疑问 ,学习一些设计模式,对我们的编程水平的提高帮助很大.写这个博客的时候自己刚开始学习设计模式,难免有错,欢迎评论指正. 我学设计模式的第一本书是“大话设计模式”. 1.为什么要学设计模式? 设计模式的存在就是为了抵御需求变更.学会了这些思想,开始一个项目的时候考虑的更多,当用户提出变更的时候项目改动更少. 2.怎么才能学会设计模式? 我不知道,不过轮子哥(vczh)文章中的一句话,我觉得对,就是:“设计模式就是因为情况复杂了所以才会出现的,所以我们只能通过复杂的程序来学习设计模式.

java 之 备忘录模式(大话设计模式)

备忘录模式,给笔者的感觉,我们在实际开发中很少用到,至少笔者是没用到过.一般在游戏后台开发应该会经常用到吧!当然这只是 笔者的推断.先看下类图 大话设计模式-类图 再继续看下Demo吧 /** * 需要保存的进度信息类 */ public class RoleSateMemento{ private Integer atk; private Integer vit; private Integer attack; public RoleSateMemento(Integer atk, Integ

java 之 命令模式(大话设计模式)

命令模式,笔者一直以为当我们开发的过程中基本上很难用到,直到维护阶段或者重构阶段,我们会发现有些撤销命令和追加命令比较频繁时,自然而然就用到命令模式. 先看下类图 大话设计模式-类图 简单说下类图,最开始笔者看大话设计模式的时候也不是很喜欢看类图,主要原因是看不懂,后来当笔者第一次看完设计模式后,才真正意义上的理解类图. 在现在的工作中笔者查看设计模式时,基本上都是直接看类图,不会再去看demo.所以在这里笔者鼓励大家多看类图,并明白类图的意义,也不用过于刻意去看, 当大家明白一个设计模式后,再

2.大话设计模式-策略模式

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace DesignModel 8 { 9 /// <summary> 10 /// 策略模式 11 /// </summary> 12 public class TacticsModel 13 { 14 //对于

【大话设计模式】设计模式系统学习大合集

转载请注明出处:http://blog.csdn.net/column/details/designpatternbylmb.html 为了方便各位网友学习以及方便自己复习之用,将设计模式的系列内容按照由浅入深的学习顺序总结如下,点击相应的标题即可跳转到对应的文章. 大话设计模式-工厂模式 大话设计模式-单例模式 大话设计模式-原型模式 深复制VS浅复制(MemberwiseClone方法介绍) 大话设计模式-代理模式 大话设计模式-中介者模式 大话设计模式-策略模式 大话设计模式-装饰模式 大

大话设计模式系列目录

图:23种设计模式概览 大话设计模式1:初识设计模式及设计模式五大基本原则

《大话设计模式》学习笔记系列--1. 简单工厂模式

简单工厂模式实现了一种"工厂"概念的面向对象设计模式,它可以在不指定对象具体类型的情况下创建对象.其实质是定义一个创建对象的接口,但让实现这个接口的类来决定实例化具体类.工厂方法让类的实例化推迟到子类中进行. 以书本上的计算器程序为例,其UML描述如下: 图中,AddOperator, SubtactOpertor继承算式基类Operator,而CreateOperator则是负责创建一个操作类,而不指明具体的子类类型. 下面,我们来看代码: 首先操作积累: /// <summa

【读书笔记】大话设计模式 1【2014-7-28】

大 大话设计模式这本书给我最大的感觉就是这本书不是为了说明设计模式而写的,它是为了让你能够更好地看懂,更好地理解而存在.到现在读了也有一半了,稍微总结一下. 0.uml类图. 软件工程的基础就是uml类图.依赖:元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A:用带箭头的虚线表示,箭头指向被依赖元素.泛化:通常所说的继承(特殊个体 is kind of 一般个体)关系,不必多解释了.uml中用带空心箭头的实线线表示,箭头指向一般个体.实现:这个关系最常用于接口.uml