随笔分类 -  设计模式

摘要:什么是 WebApi WebApi 就是网络接口,运行流程如下。 如何实现 1 最开始的执行方法 如果要执行一个方法,最简单的会通过如下几步执行。 [ApiController] [Router("WeatherForecast")] public class WeatherForecastCont 阅读全文
posted @ 2025-07-11 19:42 龙猫•ᴥ• 阅读(38) 评论(0) 推荐(0)
摘要:使用场景 把几个对象中相同方法放到模版对象中,目的是为了提升代码的维护性。 实现 /// <summary> /// 日志文件信息 /// </summary> class LogFile { } /// <summary> /// 云服务日志上传接口。 /// </summary> interfa 阅读全文
posted @ 2025-07-11 19:39 龙猫•ᴥ• 阅读(4) 评论(0) 推荐(0)
摘要:使用场景 已经部署的项目,无法解决新需求。目的是能让两个没有任何联系的类,能够一起工作。 实现 /// <summary> /// 图片上传接口 /// </summary> interface IPictureUploadService { public void UploadPicture(st 阅读全文
posted @ 2025-07-11 19:38 龙猫•ᴥ• 阅读(13) 评论(0) 推荐(0)
摘要:使用场景 就是客户端统一对象,解决客户端复用对象问题 以下是购买商品的相关服务 实现 /// <summary> /// 商品微服务 /// </summary> class ProductMicroService { /// <summary> /// 获取商品 /// </summary> pu 阅读全文
posted @ 2025-07-11 19:36 龙猫•ᴥ• 阅读(8) 评论(0) 推荐(0)
摘要:责任链模式 责任链使用场景 责任链代码实现 /// <summary> /// 请假请求 /// </summary> class LeaveRequest { /// <summary> /// 请假天数 /// </summary> public int LeaveDays { set; get 阅读全文
posted @ 2025-07-10 21:16 龙猫•ᴥ• 阅读(17) 评论(0) 推荐(0)
摘要:中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 如图所示: Mediater是抽象中介者,定义了同事对象到中介者对象的接口,ConcreteMediater是具体中介者对象,实现抽象类的方 阅读全文
posted @ 2022-10-18 10:46 龙猫•ᴥ• 阅读(59) 评论(0) 推荐(0)
摘要:工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 故事:雷锋依然在人间 小菜班里有个叫薛磊风的同学,大学期间一直在帮助一个老人,说自己是学雷锋,但是这段时间他出事受伤了,希望班里的同学能帮忙照顾老人。 Leif 阅读全文
posted @ 2018-07-25 12:10 龙猫•ᴥ• 阅读(132) 评论(0) 推荐(0)
摘要:代理模式(proxy),为其他对象提供一种代理以控制对这个对象的访问。 故事:为别人做嫁衣 卓贾易喜欢娇娇,自己不敢接近,买了礼物却每次让戴励送给娇娇,一来二去娇娇和戴励好上了,卓贾易为别人做了嫁衣。 代理接口: GiveGift.cs 被追求者类: SchoolGirl.cs 追求者类: Purs 阅读全文
posted @ 2018-07-25 09:59 龙猫•ᴥ• 阅读(181) 评论(0) 推荐(0)
摘要:装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 以下是装饰模式的例子: 具体代码: Person.cs Finery.cs Program.cs 阅读全文
posted @ 2018-07-24 17:39 龙猫•ᴥ• 阅读(243) 评论(0) 推荐(0)