组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的组合结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
透明方式和安全方式
(1),透明方式:在 Component 中声明所有用来管理子对象的方法,其中包括 Add、 Remove 等、这样实现 Component 接口的所有子类都具备了 Add、Remove 方法。这样做的好处是子类对外界来说没有区别,他们...
分类:
编程语言 时间:
2014-08-05 22:32:30
阅读次数:
242
备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
(1),把要保存的细节给封装在 Memento 中,那一天要更改保存的细节也不用影响客户端了。
(2),Memento 模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,需要保存的属性只是众多属性中的一小部分时,Originator 可...
分类:
其他好文 时间:
2014-08-05 00:49:28
阅读次数:
303
适配器模式(Adapter):将一个类的接口转换为客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(1),系统的数据和行为都正确,但接口不符时,我们应该考虑适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
(2),使用一个已经存在的类,但如...
分类:
编程语言 时间:
2014-08-01 23:14:02
阅读次数:
228
没有开发过程,只是发布过程一、前提开发使用的是VS2013从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不容易找到一个,一定要记下来,方便以后查阅。要把一个WebService发布到IIS,首先要安装IIS,网络...
分类:
Web程序 时间:
2014-08-01 15:22:41
阅读次数:
205
状态模式(State):当一个对象内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。
(1),状态模式主要负责解决的是当控制一个对象转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
(2),状态模式的好处是将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。
(3),将特定的状态相关的行为都放入一个对象中...
分类:
编程语言 时间:
2014-07-31 23:58:20
阅读次数:
556
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们具体的类。
(1),工厂方法模式是定义一个用于创建对象的接口,让子类决定实例化哪一个类。
(2),为创建不同的产品对象,客户端应使用不同的具体工厂。
抽象工厂模式的优点和缺点:
(1),好处是便于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得...
分类:
编程语言 时间:
2014-07-31 00:05:55
阅读次数:
222
观察者模式(发布-订阅 Publish/Subscribe 模式):定义了一种一对多的依赖关系,让多个观察者对象同事监听某一个主体对象。这个主体对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
1:观察者模式特点
(1),将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、...
分类:
其他好文 时间:
2014-07-30 01:05:42
阅读次数:
227
建造者模式(Builder):建一个复杂的对象的构建和它的表示分离,使得同样的构造过程可以创建不同的表示。
(1),主要创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。
(2),建造者模式的好处就是使得建造代码和表示代码分离,由于建造者隐藏了该产品是符合组装的,所以如需要改变一个产品的内部表示,主需要在定义一个具体的建造者就可以了。
(3)...
分类:
编程语言 时间:
2014-07-29 14:24:58
阅读次数:
219
迪米特法则(最少知识原则):如果两个类不必彼此直接通信,那么两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
(1),在类的结构设计上,每一个类都应当尽量降低成员的访问权限。
(2),迪米特法则的根本思想是强调了类的松耦合。
(3),类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成影响。
...
分类:
编程语言 时间:
2014-07-26 02:09:56
阅读次数:
293
1、全局的ViewModel绑定: a)设定全局的ViewModel(App.xaml中):1 6 7 8 9 b)绑定全局的ViewModel(MainWindow中):1 7 2、单独的ViewModel绑定(MainWindow中):1 6 7 ...