惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

O
OpenAI News
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
The Hacker News
The Hacker News
罗磊的独立博客
L
LINUX DO - 热门话题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Attack and Defense Labs
Attack and Defense Labs
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
博客园 - 聂微东
The Last Watchdog
The Last Watchdog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Latest news
Latest news
美团技术团队
Hacker News: Ask HN
Hacker News: Ask HN
J
Java Code Geeks
V
Visual Studio Blog
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Schneier on Security
L
Lohrmann on Cybersecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Security Affairs
T
Threatpost
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
博客园 - 三生石上(FineUI控件)
V
V2EX
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Jina AI
Jina AI
雷峰网
雷峰网
Know Your Adversary
Know Your Adversary
有赞技术团队
有赞技术团队
V2EX - 技术
V2EX - 技术
Scott Helme
Scott Helme
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
H
Hacker News: Front Page
月光博客
月光博客
小众软件
小众软件

博客园 - 心雨无痕

升级openssl和openssh linux配置LVM 杂七杂八 .net程序包含webbrowser插件时遇到的各种问题 mysql连接远程服务器很慢的解决方法 centos安装php需要注意的问题 centos配置nfs杂七杂八 iptables配置网络端口转发 桥接模式 适配器模式 单例模式 工厂方法模式 简单工厂模式 建造者模式 ActionScript中Object和Dictionary的区别 FlashBuilder4.5破解方法 抽象工厂模式 设计模式浅见 了解下常见的开源协议
原型模式
心雨无痕 · 2012-06-27 · via 博客园 - 心雨无痕

原型模式用于复制对象,抽象产品类定义复制自身的方法,实体产品类继承抽象产品类并实际实现复制方法,在客户使用时直接调用该复制方法即可。

为什么要使用这个模式

当有产品经常需要进行复制,而且该产品的复制方法比较复杂而且很可能非常多变,更加可能的是客户需要使用许多种该类产品,这种情况下就非常适合用原型模式。

原型模式概述

原型模式核心包括2个角色:

1. 抽象产品类IC(接口IA),该类定义了复制自身的方法

2. 实体产品类,实现上述接口A或继承抽象类IC,实际实现复制方法

客户一般使用方法(假设实体产品类为PA和PB,IA定义的接口方法为Clone):

IA a = new PA();
IA b = new PB();
IA c = a.Clone();
IA d = b.Clone();