随笔分类 -  设计模式

设计模式,把面向对象发挥到了极致
摘要:[回到目录](https://www.cnblogs.com/lori/p/3896484.html) # 说明 复合的责任链,类似于管道模式,只要符合条件,说会向下传递,不会终止 # 算法说明 * 按最高优先级去使用,符合就用,不符合就走下一个策略 * 具体链条,有点像pipeline管道模式 * 阅读全文
posted @ 2023-06-30 15:48 张占岭 阅读(252) 评论(0) 推荐(0) 编辑
摘要:[回到目录](https://www.cnblogs.com/lori/p/3896484.html) # 概述 委派模式(Delegate Pattern)又叫作委托模式,是一种面向对象的设计模式,允许对象组合实现与继承相同的代码重用。它的基本作用就是负责任务的调用和分配,是一种特殊的静态代理模式 阅读全文
posted @ 2023-06-28 10:33 张占岭 阅读(269) 评论(0) 推荐(0) 编辑
摘要:[回到目录](https://www.cnblogs.com/lori/p/3896484.html) # 概述 命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成一个对象,从而允许我们根据不同的请求将客户端参数化,并且能够将请求排队或记录请求日志、支持撤销操作等。该模式 阅读全文
posted @ 2023-06-28 10:11 张占岭 阅读(115) 评论(0) 推荐(0) 编辑
摘要:[回到目录](https://www.cnblogs.com/lori/p/3896484.html) # 责任链模式 它是一种设计模块,主要将操作流程与具体操作解耦,让每个操作都可以设置自己的操作流程,这对于工作流应用是一个不错的选择! 下面是官方标准的定义:责任链模式是一种设计模式。在责任链模式 阅读全文
posted @ 2023-06-28 10:05 张占岭 阅读(175) 评论(0) 推荐(0) 编辑
摘要:"回到目录" 职责链模式 它是一种设计模块,主要将操作流程与具体操作解耦,让每个操作都可以设置自己的操作流程,这对于工作流应用是一个不错的选择! 下面是官方标准的定义:责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一 阅读全文
posted @ 2018-01-10 22:32 张占岭 阅读(784) 评论(0) 推荐(0) 编辑
摘要:回到目录 下面将介绍以下几个原则,都是软件设计里的大哥大,大姐大级别的人物! DRY DRY是Do Not Repeat Yourself的简称,不要写重复的代码,可以使用代码重构里的提取到方法,提取到类来做这事 KISS KISS 是Keep it short and simple 的简称。意思是 阅读全文
posted @ 2017-09-13 10:16 张占岭 阅读(728) 评论(0) 推荐(1) 编辑
摘要:回到目录 对于Lind.DDD这个敏捷框架来说,插件也是其中的一个亮点,所有被认为是插件(Plugins)的模块都会继承自IPlugins这个标示接口,它在程序启动时会找到所有插件,并通过autofac注册到运行时中,然后在使用时通过PluginManager对象进行获取,即所有模块只注册一次,在使 阅读全文
posted @ 2016-10-19 10:39 张占岭 阅读(1642) 评论(1) 推荐(4) 编辑
摘要:返回目录 再说概念 这两个模式确实有点相似,都为了实现程序的解耦产生的,观察者一般又称发布/订阅模式,它一般是有一个主题对象,然后有多个订阅者去关注它,当它的状态发生变化时,会自动通知这些订阅者;而消费者模式类似一个缓存队列的概念,它也称为生产者/消费者模式,生产者只负责生产数据不去做处理(缓解高并 阅读全文
posted @ 2016-04-20 16:43 张占岭 阅读(4933) 评论(1) 推荐(4) 编辑
摘要:返回目录为何要设计多功能消息组件之前写过一篇装饰器模式的文章,感觉不够深入,这次的例子是实现项目中遇到的,所以把它拿出来,再写写,之前也写过消息组件的文章,主要采用了策略模式实现的,即每个项目可以通过配置进行一种消息的订制,如,你可以订制email,sms,rtx,qq等,但不能同时采用多种机制完成... 阅读全文
posted @ 2015-03-13 11:27 张占岭 阅读(1200) 评论(0) 推荐(5) 编辑
摘要:返回目录模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是说,模版方法模式中,将工作的主体架构规定好,具体类可以根据自己的需要,各自去实现,这可能会让我们想到策略模式,两者有着本质的区别。何时能用到它?我们看一下策略模式的应用场景1、 ... 阅读全文
posted @ 2014-11-07 15:40 张占岭 阅读(3168) 评论(1) 推荐(0) 编辑
摘要:返回目录在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。意图【GOF95】在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(A... 阅读全文
posted @ 2014-09-05 16:10 张占岭 阅读(1520) 评论(0) 推荐(2) 编辑
摘要:返回目录门面模式(Facade)属于结构型模式的一种,它符合面向对象的封装原则,但又不符合开闭原则,呵呵,今天我们主要说它的优点,不谈缺点.定义门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。技巧我们在设计子类时,... 阅读全文
posted @ 2014-09-03 15:52 张占岭 阅读(2501) 评论(0) 推荐(1) 编辑
摘要:返回目录建造者模式是我的"设计模式"里创建型模式里的最后一篇,这种模式在实现中,很多架构都用到了,如MVC,MVP,MVVM,它们都是有建造者模式的精髓的,即,创建与表现分享,我们的MVC何尝不是,我们的MVVM又何尝不是呢,我们做软件的,换肤是常有的事,其实换肤的实现不就是建造者模式最好的体现吗,... 阅读全文
posted @ 2014-09-03 15:10 张占岭 阅读(1493) 评论(1) 推荐(4) 编辑
摘要:返回目录何时能用到它?组合模式又叫部分-整体模式,在树型结构中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。对于今天这个例子来说,它可以很清楚的说明组合模式的用意,首先是一个Graphics对象,它表示是一绘图功能(树根),... 阅读全文
posted @ 2014-08-15 11:46 张占岭 阅读(971) 评论(0) 推荐(1) 编辑
摘要:返回目录原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例(clone),而不是新建(new)实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,... 阅读全文
posted @ 2014-08-08 17:11 张占岭 阅读(1174) 评论(0) 推荐(1) 编辑
摘要:回到占占推荐博客索引 设计模式(Design pattern)与其它知识不同,它没有华丽的外表,没有吸引人的工具去实现,它是一种心法,一种内功,如果你希望在软件开发领域有一种新的突破,一个质的飞越,那么,设计模式应该是你的必修之路!设计模式可以提高软件的扩展性,代码的健壮性和重复利用性,设计模式是实 阅读全文
posted @ 2014-08-07 13:05 张占岭 阅读(3194) 评论(0) 推荐(3) 编辑
摘要:返回目录策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。而对于客户端(UI)来说,可以通过IOC再配合工厂模块,实现动态策略的切换,策略模块通常于一个抽象策略对象(interface or abstract class),多个具体策略对象(implement class... 阅读全文
posted @ 2014-08-07 09:29 张占岭 阅读(1495) 评论(0) 推荐(0) 编辑
摘要:返回目录 装饰器模式,也叫又叫装饰者模式,顾名思义,将一个对象进行包裹,包装,让它变成一个比较满意的对象,这种模式在我们平时项目开发中,经常会用到,事实上,它是处理问题的一种技巧,也很好的扩展了程序,让程序代码不那么死板! 何时能用到它? 1. 需要扩展一个类的功能,或给一个类添加附加职责。 2. 阅读全文
posted @ 2014-08-05 10:27 张占岭 阅读(1804) 评论(0) 推荐(0) 编辑
摘要:返回目录观察者模式,也叫发布/订阅模式(publish/subscribe),监视器模式等。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。。何时能用到它?此种模式通常被用来实现事件处理系统,例如,当一个数据仓储... 阅读全文
posted @ 2014-08-05 09:38 张占岭 阅读(3279) 评论(0) 推荐(1) 编辑
摘要:返回目录之前和大家一起谈了工厂模式和单例模式,今天来看一下另一种非常常用的模式,它就是适配器模式,第一次看到这个模式是通过“张逸”老师的“设计之道”这篇文章,在这里表adapter讲的很透彻,今天把张老师的文章拿过来,分享给大家!何时能用到它?对于一个软件生产商A来说,在过去的20年里,它们主要生产... 阅读全文
posted @ 2014-06-12 13:44 张占岭 阅读(2413) 评论(1) 推荐(2) 编辑