由于在上篇文章已经介绍过何为三层,在这就不在介绍,这篇文章的主要内容是介绍三层+设计模式后该如何实现。首先要做的就是在哪加,如何加?
三层主要的目的是解耦合,实现各个层之间的分离,从而做到改变一个尽可能不影响其他的层。所以可以在B层和D层加一个抽象工厂模式,来实现此目的。如下图:
当然还可以适当添加别的模式,比如U层和B层加一个外观模式,总的来说表现在包图中的就是这个样子的...
分类:
其他好文 时间:
2014-05-25 12:48:29
阅读次数:
196
#KVO技术笔记:####KVO简介:**KVO**,即:Key-Value
Observing,它提供一种
**间接机制**,当指定的对象的属性被修改后,对象就会接收到通知。简单的说,就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者.这个机制可以达到最大程度的**解耦合**...
分类:
其他好文 时间:
2014-05-23 10:29:34
阅读次数:
294
什么是有限状态机?通俗点讲,有限状态机是:将对象的状态(攻击、闲置、晕眩)的实现代码,提取出来,封装成状态。由状态机负责在各个状态之间调度。对象持有状态管理类(状态机)的引用,与具体的状态解耦。OK,那接下来开始设计一个塔的状态,我们有一个父类FiniteState,状态机只和父类交互,屏蔽了状态具...
分类:
其他好文 时间:
2014-05-22 03:19:23
阅读次数:
301
技术笔记这两个机制的目的都是为了 **解耦合**
,它们时联系和相互独立的。这样说似乎有些说不通。我们具体看一看***它们是 **(联系)** 还是 **(独立)**
取决于我们要达到的目的:###目的一:场景介绍:紧密联系***我们的银行账户有变动的时候,银行会给我们发短信通知,这时候就是我们账户...
分类:
其他好文 时间:
2014-05-20 13:41:01
阅读次数:
200
关键词 :空对象 有人称为设计模式
三层调用
1. 封装调用 , 把封装带到一个全新的境界: 把方法调用(method invocation) 封装起来.
2. 命令模式可将"动作的请求者" 从"动作的执行者" 对象中解耦.
3. 当需要将发出的请求和执行请求的对象解耦的时候,使用命令模式.
OO原则: (1)封装变化 (2) 多用组合,少用继承 (3)针对接口编程,不针对...
分类:
其他好文 时间:
2014-05-18 03:18:57
阅读次数:
311
前言第一次接触Autofac是因为CMS系统--Orchard,后来在一个开源爬虫系统--NCrawler中也碰到过,随着深入了解,我越发觉得Ioc容器是Web开发中必不可少的利器。那么,Ioc容器是用来做什么的?用了有什么好处?我相信如果不明白这两点就很难敞开心扉接受Ioc容器。传统解耦设计的弊端...
分类:
其他好文 时间:
2014-05-16 22:34:11
阅读次数:
361
应对挑战——商务及技术考量
本文前面的部分分析了砖块模式与生俱来的总拥有成本(TCO)过高的问题。为了战胜这一挑战,超大规模数据中心的运营者需要从两个不同的角度来切入:
· 商务角度:植根于人类社会行为中的宏观层面的季节性及时间性数据中心负载变化问题,只能通过找到若干种经济有效、可以互补的应用来提高平均的资源利用率,并避免高峰期性能需求的暴增。...
分类:
其他好文 时间:
2014-05-15 04:15:42
阅读次数:
388
组合模式(Composite
Pattern),又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。应用场景比如现实中公司内各部门的层级关系。概念解释将对象组合成树形结构以表示“部分整...
分类:
其他好文 时间:
2014-05-14 13:17:09
阅读次数:
284
Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通。开源项目地址:https://github.com/square/otto使用说明:http://square.github.io/otto/以下...
分类:
移动开发 时间:
2014-05-14 09:57:56
阅读次数:
396
Iron之观察者引言上一篇说的职责链模式,很有意思的一个模式,今天这个模式也是很有意思的一个模式,还是不啰嗦了直接进入主题吧。场景介绍:在上一遍中说到用到部件检测,很巧妙的让调用者和处理者解耦了(没有看过上篇的文章也没关系,只是剧情是要接着发展的),要把部件拿..
分类:
其他好文 时间:
2014-05-12 03:52:04
阅读次数:
397