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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:6.适配器模式(Adapter Pattern)
下一篇:4.建造者模式(Builder Pattern)

发表评论

最新留言

很好
[***.229.124.182]2024年08月27日 13时32分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章