随笔分类 -  设计模式

演绎23种设计模式(C#)
摘要:记得之前在规划和设计微服务架构的时候,一个同事给我我一个至今依然记忆深刻的提示:你的设计蓝图里为什么没有看到DDD的影子呢? 随着对充血模型的领域认知的加深,我越来越觉得DDD的重要性,但是DDD内容繁多,是不是要深入去了解呢,我觉得不必入坑太深,个人浅见,它最核心的一点就是针对贫血模型的不足而设计 阅读全文
posted @ 2020-06-13 13:11 萌萌丶小魔王 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下解释器模式。 什么叫解释器模式呢?解释器模式,给定一个语言,定义她的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言的句子,这样就可以构建一个解释器,该解释器通过/解释 阅读全文
posted @ 2017-02-17 14:26 萌萌丶小魔王 阅读(322) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下享元模式。 我们在工作之余可能会接一些私活,比如,帮人开发一个网站,帮人开发一个私人博客。随着私活的增多,会发现,有很多项目是有相同之处的,比如,帮人开发一个网站,你会发现,之前做的一些网站的代码单元是可以公共的。所以,即便是有很多的私活,我们不要盲目的去做一些项目,我们要善于发现, 阅读全文
posted @ 2017-02-16 17:35 萌萌丶小魔王 阅读(276) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下中介者模式。 什么叫中介者模式呢?中介者模式,用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。 我们拿两个不认识的同事通过第三人打招呼这个情景,来看一下中介者模式是什么样的: 客户端调用 中介者模式很容易再 阅读全文
posted @ 2017-02-15 15:11 萌萌丶小魔王 阅读(311) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下职责链模式。首先我们来模拟一下下面这个场景。 一、案例 在公司,我们需要向领导请假,向领导申请加薪,不同级别的领导会做出相应的批示。下面我们用简单的控制台应用程序来模拟一下这个案例。 客户端调用: 好,下面我们来分析一下上述代码,看看有什么问题和缺陷。 ①:GetResult这个方法 阅读全文
posted @ 2017-02-15 10:54 萌萌丶小魔王 阅读(263) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下命令模式。 一、案例 我们去烧烤店吃烧烤,给我们烤羊肉串和鸡翅。用简单的控制台应用程序来模拟一下。 客户端调用: 二、演绎 1、第一步演绎 如果烧烤店里有好多人,都要了若干的烤串和鸡翅,那么,烤肉串者怎么记得谁点了什么,点了多少串呢?这样就会乱掉了。如何解决这个问题呢?我们需要服务员 阅读全文
posted @ 2017-02-14 17:09 萌萌丶小魔王 阅读(645) 评论(0) 推荐(1) 编辑
摘要:今天我们来讲一下桥接模式。 一、案例 我有N牌子的一个手机,需要运行一款游戏软件。咱们用简单的控制台应用程序来实现一下。 客户端调用: 二、演绎 1、第一步演绎: 如果我不仅有N品牌的手机,还有M品牌的手机也需要运行这款游戏软件,怎么办? 我们可以将运行游戏软件抽象出一个父类,让N,M品牌的手机继承 阅读全文
posted @ 2017-02-14 14:14 萌萌丶小魔王 阅读(294) 评论(0) 推荐(1) 编辑
摘要:今天我们来讲一下单例模式,下面我们来用winform来做一个简单的展示,就是点击一个菜单,弹出另一个窗体(做成父子窗体的形式)。 建一个窗体(父窗体),拖一个MenuStrip,再建一个窗体(子窗体)。 然后: 现在,我们看一下执行结果。 我们可以看到,每次我们点击一下工具,都会弹出一个新的窗体,我 阅读全文
posted @ 2017-02-13 14:16 萌萌丶小魔王 阅读(331) 评论(0) 推荐(1) 编辑
摘要:今天我们来讲一下迭代器模式。 什么叫迭代器模式呢?迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 什么时候考虑用迭代器模式呢?当你需要访问一个聚焦对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式。 好,下面我们看一下迭代器的基本代码: 客 阅读全文
posted @ 2017-02-13 09:31 萌萌丶小魔王 阅读(289) 评论(0) 推荐(0) 编辑
摘要:我们来讲一下组合模式: 怎么是组合模式呢?组合模式,将对象组合成树形结构以表示‘部分-整体’的层次结构,组合模式是的用户对单个对象和组合对象的用用具有一致性。 与一个很简单的例子,公司的组织架构,大都是树枝结构的。下面,我们来看一下如何用组合模式写树枝结构。 客户端 结果: 好,是不是很简单啊…… 阅读全文
posted @ 2017-02-10 11:11 萌萌丶小魔王 阅读(244) 评论(0) 推荐(0) 编辑
摘要:今天,我们来讲备忘录模式 一、案例: 小伙伴们都玩过单机游戏或者说RPG类的游戏吧,我们在打BOSS之前,需要先存一下档,以免BOSS打不过从头再来,好,下面,我们用简单的控制台应用程序来描述一下这个场景。 客户端调用: 好了,我们很好的描述了我们案例中的场景,那下面,我们看一下我们这段代码有什么不 阅读全文
posted @ 2017-02-07 11:19 萌萌丶小魔王 阅读(353) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下适配器模式。下面,我们描述一个场景: 不管是篮球队还是足球队,都会有外援的,在队内训练与安排战术的时候,外援可能听不懂汉语的,那么,他们怎么交流呢,这就需要一个翻译了。其实,这个翻译就起到了一个适配器的效果。 何为适配器模式:将一个接口转换成为客户希望的另外一个接口,使得原本由于接口 阅读全文
posted @ 2017-02-07 09:32 萌萌丶小魔王 阅读(328) 评论(0) 推荐(1) 编辑
摘要:今天我们来将状态模式,首先,我们来描述下面一个场景: 一、案例: 在工作过程中,根据时间段的不同,我们工作的状态也有所不同,下面,我们用简单的控制台应用程序,来实现一下这个场景。 客户端 二、演绎 1、第一步演绎 看到上面用代码描述的场景,对于我们学了好多设计模式的小伙伴来讲,是不是显得特别的挫,最 阅读全文
posted @ 2017-02-06 14:50 萌萌丶小魔王 阅读(383) 评论(0) 推荐(0) 编辑
摘要:首先给大家拜个晚年,祝大家新春快乐,万事如意,鸡年大吉。 好了,前面我们讲了很多的工厂模式,其中,有个很明显的特点,工厂中,有一个方法,里面有很多的swich case 分支,我们前面说过,我们可以用反射的技术来避免swich case 分支。ok,那么,今天,我们来用反射+抽象工厂模式 来完善一下 阅读全文
posted @ 2017-02-04 13:41 萌萌丶小魔王 阅读(1775) 评论(3) 推荐(3) 编辑
摘要:今天呢,给大家来讲一下抽象工厂模式,说到这里,大家会想到好多种关于工厂的模式,前面已经讲了两种了 简单工厂模式和工厂方法模式。好,下面我们来看一下抽象工厂模式。 同样,我们来举一个案例 一、案例 我们在做项目的时候,肯定会与数据库打交道,那么我们用简单的控制台应用程序来模拟一个向SqlServer数 阅读全文
posted @ 2017-01-24 10:48 萌萌丶小魔王 阅读(532) 评论(1) 推荐(0) 编辑
摘要:今天我们来讲一下观察者模式。还是老样子,给大家一个案例。 一、案例 在我们怀念的学生时代,我们会有这么一个现象,当在教室里上自习的时候,让一个同学把风,我们在教室里玩,当老师来的时候,让那个同学给我们说一声。 好,下面我们就用简单的控制台应用程序来实现上述的场景(一个把风的同学,两个玩耍的同学) 客 阅读全文
posted @ 2017-01-23 11:23 萌萌丶小魔王 阅读(334) 评论(1) 推荐(1) 编辑
摘要:今天,我们来讲一下建造者模式。 一、案例 我们来用winform画一个小人,一个头,一个身体,两只手,两条腿。 我们一般想到的代码如下: 运行的效果: 嗯,好,下面,我们再画一个稍微胖一点的小人。 代码如下: 运行效果如下 咦,我们好像少花了条腿哦。 哈哈,像这样粗心的情况我们经常出现 二、演绎 1 阅读全文
posted @ 2017-01-22 09:38 萌萌丶小魔王 阅读(871) 评论(2) 推荐(3) 编辑
摘要:本篇博文,我们来说一下外观模式。 一、案例 我们大家都买过股票吗?即使没有买过股票的,也大体知道炒股是什么回事,说白了就是股票的买卖。 下面我们用简单的控制台应用程序来模拟一下股票买卖的场景。代码如下: 客户端: 二、演绎 嗯,然而,对于不了解股票的朋友来说,面对这么多支股票,他们也不知道改如何买卖 阅读全文
posted @ 2017-01-19 14:41 萌萌丶小魔王 阅读(317) 评论(0) 推荐(0) 编辑
摘要:今天我们来讲一下模板方法模式。 一、案例 我们在上中学的时候,会有这么一种场景,老师在黑板上写测试题,让我们自己抄到纸上做。相信不少小伙伴们都经历过这种岁月,想想还是很怀念的呢。这种做测试的方式,对当时的我们来讲,有一个最致命的痛苦,就是这个题目会做,但是TM抄错了题目了,擦擦擦。相信不少小伙伴肯定 阅读全文
posted @ 2017-01-19 11:15 萌萌丶小魔王 阅读(426) 评论(0) 推荐(1) 编辑
摘要:今天我们来讲一下原型模式。老样子,我们先举一个案例: 一、案例 我们找工作,需要投简历,一份简历是不够的,我们需要多复制几分简历。 好,我们用简单的控制台程序来完成上述的需求。 二、演绎 1、第一步演绎 客户端调用: OK,我们实现了上述的功能,搞了三份简历出来。我们可以通过复制粘贴,复制更多分简历 阅读全文
posted @ 2017-01-17 10:10 萌萌丶小魔王 阅读(385) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示