
5.原型模式(Prototype Pattern)
发布日期:2021-05-10 05:01:35
浏览次数:10
分类:技术文章
本文共 1219 字,大约阅读时间需要 4 分钟。
原型模式
在某些场景下,我们需要复制对象的时候可以采用这种方式,例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
主要解决:在运行期建立和删除原型。
using System;namespace _05_Prototype{ class Program { ////// 原型模式 /// /// static void Main(string[] args) { ExamPaper xm = new ExamPaper(); xm.MyName = "小明"; xm.ShowPaper(); ExamPaper xb = xm.Clone(); xb.MyName = "小白"; xb.ShowPaper(); Console.WriteLine(); Console.WriteLine(xm.MyName); Console.ReadKey(); } } class ExamPaper { //生成考试试卷 public string MyName { get; set; } public ExamPaper() { //从题库查询100道题 } public void ShowPaper() { //随机打乱顺序 Console.WriteLine("考生姓名:" + MyName); Console.WriteLine("选择题..."); Console.WriteLine("填空题..."); Console.WriteLine("判断题..."); } public ExamPaper Clone() { return (ExamPaper)this.MemberwiseClone(); //浅复制 } }}
其实里面的关键点就在于MemberwiseClone()
方法,可以用浅拷贝的方式复制一个对象。
转载地址:https://blog.csdn.net/u012869793/article/details/115522636 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2023年11月24日 21时05分10秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Lanchester方程平方律matlab仿真
2019-03-28
单兵种直瞄武器交战的Lanchester方程
2019-03-28
多兵种直瞄武器交战的Lanchester方程
2019-03-28
最优控制中的变分法
2019-03-28
最优控制中极小值原理及其应用
2019-03-28
一个简单的微分对策问题求解及其Matlab实现
2019-03-28
用PyGame实现贪吃蛇游戏
2019-03-28
单兵种对多兵种作战的微分对策模型
2019-03-28
变量提升与函数提升的优先级
2019-03-28
前端请求后端数据显示404
2019-03-28
关键字final 和static
2019-03-28
Java中方法的定义、传参、重载与递归
2019-03-28
Java中的集合框架(JCF)
2019-03-28
Visual Studio 提示“发生生成错误,是否继续并运行上次的成功生成?”解决办法
2019-03-28
二维数组回形遍历 C++
2019-03-28
护林员盖房子 C++
2019-03-28
数字颠倒简单实现
2019-03-28
一类括号匹配问题 POJ
2019-03-28
C++ int类型最大最小数字(16进制)
2019-03-28
二进制数最后n位为1
2019-03-28