5.原型模式(Prototype Pattern)
发布日期:2021-05-10 05:01:35
浏览次数:28
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年08月27日 13时32分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JDBC基础操作
2019-05-24
连接池
2019-05-24
Servlet的使用——重定向和转发
2019-05-24
JSP技术的使用——好像过时了唉。。。。。
2019-05-24
MVC模式概述
2019-05-24
Web之过滤器Filter
2019-05-24
JSON和AJAX
2019-05-24
web之监听器listener
2019-05-24
类加载器
2019-05-24
数据库设计
2019-05-24
Java虚拟机的内存分配和运行机制(粗谈)
2019-05-24
web开发之BaseServlet的使用
2019-05-24
初识Maven
2019-05-24
Maven分模块构建项目
2019-05-24
MyBatis初识
2019-05-24
Mybatis-高级应用
2019-05-24
MyBatis【进阶详解】
2019-05-24
面试题集锦(七)
2019-05-24
结构型设计模式——代理设计模式
2019-05-24
注解开发——Spring整合dao/service/web
2019-05-24