接口;设计模式六大原则;创建型模式:工厂方法模式,抽象工厂模式,建造者模式,单例模式;结构型模式:适配器模式,组合模式,代理模式;行为型模式:责任链模式,策略模式,模板方法模式。
分类:
其他好文 时间:
2018-08-06 16:30:40
阅读次数:
179
什么是工厂:万物皆对象,万物皆产品;工厂生成(new)产品;工程生成基类产品; 用户不关心产品生产过程,产品详细的生产过程放在工厂方法里 为什么使用工厂方法:在用户类代码中,使用new关键字实例化产品类时,就会导致用户类与产品类强耦合。 ...
分类:
其他好文 时间:
2018-08-05 18:36:54
阅读次数:
121
桥梁模式:其实就是把抽象和实现解耦,解决了继承的缺点,实现可以不用受抽象的约束,不用再绑定在一个固定的抽象层次上。 公司产品桥梁模式案例 如果使用普通的继承,那动态具有好多种公司,房地产、服装公司、餐饮公司,然而房地产公司又可以分为 公寓房公司、别墅房公司等等...这样的话,子类就太多啦,扩展也不是 ...
分类:
其他好文 时间:
2018-07-17 18:04:05
阅读次数:
206
SLF4J是一个包装类,典型的facade模式的工具,对用户呈现统一的操作方式,兼容各种主流的日志记录框架,典型的有log4j/jdk logging/nop/simple/jakarta commons logging等。 有张图比较形象直观的展示这个知识: 下面给出几个maven配置的例子 lo ...
分类:
编程语言 时间:
2018-07-12 23:48:54
阅读次数:
221
装饰者模式 标签 : 设计模式 什么是装饰者模式 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰者模式比生成子类更为灵活。 体会装饰者模式 ![image_1chieqtsf1gg71c1kqh7tpr1g7r9.png 78.4kB][1] 1. Component:组件对象的接口,可以 ...
分类:
其他好文 时间:
2018-07-11 19:57:44
阅读次数:
159
1.定义: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. 2.UML类图: Component是定义一个对象接口,可以给这些对象动态地添加职责,ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责.Decorator,装饰抽象类, ...
分类:
其他好文 时间:
2018-07-01 11:55:43
阅读次数:
177
状态模式当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。 UML类图: 角色: 上下文环境(Work):它定义了客户程序需要的接口并维 ...
分类:
Web程序 时间:
2018-06-26 01:06:18
阅读次数:
196
Go语言开发(五)、Go语言面向接口一、DuckTyping简介1、DuckTyping简介对于一门强类型的静态语言来说,要想通过运行时多态来隔离变化,多个实现类就必须属于同一类型体系,必须通过继承的方式与同一抽象类型建立is-a关系。而DuckTyping则是一种基于特征,而不是基于类型的多态方式。DuckTyping仍然关心is-a,只不过is-a关系是以对方是否具备相关的特征来确定的。是否满
分类:
编程语言 时间:
2018-06-18 12:39:01
阅读次数:
214
对于多线程编程,如何优雅的终止子线程,始终是一个值得考究的问题。如果直接终止线程,可能会产生三个问题: 子线程当前执行的任务可能必须要原子的执行,即其要么成功执行,要么就不执行; 当前任务队列中还有未执行完的任务,直 ...
分类:
编程语言 时间:
2018-06-10 11:57:36
阅读次数:
219
Peasy.net之并发处理 BusinessServiceBase是ServiceBase的自定义实现,提供了额外的独特功能 首先,创建一个业务服务,该业务服务必须继承BusinessServiceBase,同时要履行三个合同义务:1,创建一个DTO,你的DTO将定义一个需要被指定为TKey通用参 ...
分类:
Web程序 时间:
2018-06-08 19:28:54
阅读次数:
388