随笔分类 -  Design Pattern

介绍23种常用设计模式的C#实现、应对的场景
摘要:本文介绍ASP.NET Core默认模板是如何完成初始化的,不多废话,直入主题 首先使用默认模板创建一个ASP.NET Core程序 瞅一眼解决方案结构,包含了EF Core和Identity的默认实现,没啥特别的 我们知道控制台程序的入口点在Main函数,ASP.NET Core也是一样的。所以我 阅读全文
posted @ 2020-12-22 00:31 Vincent-Huang 阅读(975) 评论(0) 推荐(1)
摘要:一、引言 在讲策略模式之前,我们来看零售行业软件的一个针对客户类型打折的功能。 vip客户打八折,svip客户打七折。 代码实现: if (customer == "vip") { amount = amount * 0.8; } else if (customer == "svip") { amo 阅读全文
posted @ 2019-09-17 23:48 Vincent-Huang 阅读(244) 评论(0) 推荐(0)
摘要:一、概念 模板方法模式属于行为类设计模式。 定义:定义一个操作中的算法框架,而将一些步骤延迟到子类中。使子类可以不改变一个算法的结构即可重定义该算法的某些步骤。 简单来说,它就是抽象类(模板)和子类(具体的实现)组成,抽象类中定义了这个类需要完成的功能和逻辑,子类负责重写某些特定业务的方法。 例如, 阅读全文
posted @ 2019-09-09 00:22 Vincent-Huang 阅读(334) 评论(0) 推荐(0)
摘要:一、简单工厂模式的概念 简单工厂模式是属于创建型设计模式,关注于对象的创建。 我们来考虑一个支付的场景,在点外卖的时候,可以使用选择支付宝、微信支付、ApplePay等支付方式。 这些支付方式虽然名字不一样,但是用法和流程基本类似,都包括了验证账号的合法性、检查支付环境的安全性、验证支付密码、从账号 阅读全文
posted @ 2019-08-25 02:23 Vincent-Huang 阅读(1394) 评论(0) 推荐(0)
摘要:一、建造者模式的概念 建造者模式属于创建型设计模式。 指的是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 建造者模式主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的 阅读全文
posted @ 2019-08-23 00:04 Vincent-Huang 阅读(2876) 评论(0) 推荐(0)
摘要:一、原型模式的概念 原型模式属于创建型设计模式。当要创建的对象类型由原型实例确定时使用它,该实例被克隆以生成新对象。 此模式用于 1、避免客户端应用程序中的对象创建者的子类,如工厂方法模式。 2、避免以标准方式创建新对象的固有成本(例如,使用'new'关键字),当它对于给定的应用程序来说过于昂贵时。 阅读全文
posted @ 2019-08-20 23:49 Vincent-Huang 阅读(666) 评论(0) 推荐(0)
摘要:一、引言 单例模式应该算是23种设计模式中比较简单的,它属于创建型的设计模式,关注对象的创建。 二、概念 单例模式是23个“Gang Of Four”的设计模式之一,它描述了如何解决重复出现的设计问题,以设计灵活且可复用的面向对象软件,使对象的实现、更改、测试和重用更方便。 单例模式解决了以下问题: 阅读全文
posted @ 2019-08-18 23:13 Vincent-Huang 阅读(627) 评论(0) 推荐(0)