设计模式【1】:原型模式【创建对象】
来源:互联网 发布:淘宝女装销量 编辑:程序博客网 时间:2024/05/01 00:48
面试期间,总是有面试官问到关于设计模式的问题,虽然我们在写程序的时候不经意间会用到设计模式,但是在面试管面前我们还是说不出,在这我把看到的一些设计模式记录下来,加深自己的印象,也为了更好的运用这些设计模式。
【原型模式】
原型模式的官方定义:“使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象”。简单来理解就是根据这个原型创建新的对象,这种创建是指深复制,得到一份新的内存资源,而不是一个新的指针引用。
官方定义总是这么坑爹,让人那么琢磨不透,其实理解了,你会说,就这也算是一个设计模式。那么咱们就白话说这种设计模式:原型模式就是针对深复制来说的,定义可以这么去理解,
一个对象 Dog * dog = new Dog; 那么你想得到一个dog1 .可以这样来:Dog *dig1 = [dog copy];那么现在dog和dog1是两个独立的个体
这就是所谓的原型模式,虽然看到后总感觉没必要弄成一个设计模式,但是还要感谢这个设计模式的提出者。
【关于深复制说两句】
像NSString、NSDictionary这些类,本身已经实现了copyWithZone:(NSZone *)zone方法,直接使用如[NSString copy]调用即可。在复制后得到的副本,又可以分为可变副本(mutable copy)和不可变副本(immutable copy)。通常在NSCopying协议规定的方法copyWithZone中返回不可变副本,在NSMutableCopying的mutableCopyWithZone方法中返回可变副本,然后调用copy和mutableCopy方法来得到副本。
1 0
- 设计模式【1】:原型模式【创建对象】
- 原型模式(对象创建)
- 设计模式之Prototype(原型模式)对象创建型
- 设计模式(对象创建)——原型模式
- 设计模式之对象创建型 — prototype 原型模式
- 【设计模式】创建型模式-原型模式
- 设计模式 - 创建型模式 - 原型模式
- 设计模式->创建型模式->原型模式
- 创建对象及原型模式
- 创建对象之原型模式
- JavaScript 创建对象---原型模式
- 设计模式---创建类型---原型
- 设计模式-创建型-原型
- 创建型设计-原型模式
- 设计模式学习之--PROTOTYPE(原型)对象创建型模型
- 设计模式(1)--Prototype(原型模式)--创建型
- (创建模式)设计模式之Prototype(原型)
- 设计模式-创建型模式-原型
- 【Hadoop源码研究】之Configuration
- iOS:苹果企业证书通过网页分发安装app
- java多态
- ThinkPHP处理海量数据分表机制详细代码
- 判断为iPhone 还是iPad?
- 设计模式【1】:原型模式【创建对象】
- Java集合详解
- 三星矫情,重温Galaxy S5发布会收买人心
- Oracle 网络问题错误日志典型格式
- 继承和动态内存分配(C++ Primer Plus 第十三章)
- leetcode-Letter Combinations of a Phone Number
- 黄海波被曝嫖娼被拘 移送拘留所供认不讳
- java基础(1)文档注释
- 词性标注