概述
在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。
意图
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改...
分类:
编程语言 时间:
2014-06-19 09:37:57
阅读次数:
317
com聚合是包容的一种特例,目的是最大化的实现功能模块话,降低组件间的耦合性。
第一步:
通过ATL创建com外部组件TestOutCom.dll,在其内部创建接口包装类CCMyOuterCom,并实现其对应的接口ICMyOuterCom
之后点击“完成”;并在接口中实现“GetOuterMethord”方法,方便...
分类:
其他好文 时间:
2014-06-19 09:32:45
阅读次数:
586
定义:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
类图:
利用观察者模式,主题是具有状态的对象,并且可以控制这些状态。有许多观察者依赖主题来告诉他们状态何时改变了。这就产生一个关系:“一个“主题对”多个“观察者的关系。
当两个对象之间松耦合,他们依然可以交互,但是不太清楚彼此的细节。观察者模式...
分类:
其他好文 时间:
2014-06-15 19:15:16
阅读次数:
168
IOC容器,就是把各种服务都注入到容器里,想要什么就去拿什么,不仅解决服务类和接口类的耦合度还可以提高性能方便管理。这里封装一个接口类和一个实现类1.IContainerManager接口
public interface IContainerManger : IDisposable { ...
分类:
其他好文 时间:
2014-06-12 19:30:53
阅读次数:
385
形式-视图-控制器(MVC)是UI规划中常见的规划形式,
该形式区别运用程序中的形式、视图和控制器三个人物,消除了事务逻辑与UI的耦合。形式担任封装视图展现的运用数据。视图应该只显现数据,不包括任何事务逻辑。控制器担任承受用户恳求并调用后端服务进行事务逻辑。处置之后,后端服务能够回来某些数据供视图显...
分类:
编程语言 时间:
2014-06-12 08:14:33
阅读次数:
429
在用三层做窗体登录实例的时候,暂时没有加设计模式和反射配置,与以前做的《机房收费系统》相比,除了引入分层的理念外,最大的改观就是数据的传递由传参升级成了传实体。
先看下用传参数方式的登录按钮click事件
通过参数传递乍看起来清晰易读,但是这样的程序耦合度太高,会为以后的数据变动和维护埋下隐患。例如,需要传递的数据增加了一个ID,user=mgr.Se...
分类:
其他好文 时间:
2014-06-10 07:57:08
阅读次数:
222
自从JDK1.5引入@override,@Deprecated,@SuppressWarnings这三个注解和自定义注解后,注解开始如火如荼地发展起来,现在很多框架都支持注解,注解可以使我们的代码看起来更简洁,而且在一定程度上解除了类原有特性和扩展特性之间的耦合。
为什么加上@Override,当前的方法就定义将覆盖超类中的方法,如果不覆盖就编译报错?
为什么使用加上@Depr...
分类:
编程语言 时间:
2014-06-10 07:02:37
阅读次数:
289
中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单描述:1个抽象Colleague,其派生多个具体ConcreteColleague,每个具体ConcreteColleague都认识一个具体中介者。他们发送消...
分类:
编程语言 时间:
2014-06-10 00:55:22
阅读次数:
390