组合模式适应于当我们的一个对象可能代表一个单一的实体,或者一个组合实体,但是仍然需要通过同样的方式被使用的情形组合和聚合都描述了一个类长期持有其他类的一个或多个实例的情况。
聚合:被包含对象是容器的核心部分,但是他们也可以被其他对象所包含。聚合关系用一条以空心菱形开头的线来说明。 组合:被包含的对象...
分类:
Web程序 时间:
2014-05-26 02:49:49
阅读次数:
382
一、概念CARP:CompositionAggregation
Principle合成聚合复用原则,尽量使用合成/聚合,尽量不使用类继承。合成聚合是“has a”的关系,而继承是“is
a”的关系。由于继承是一中强耦合的结构,父类变,子类必变。所以不是“is a”关系,我们一般不要用继承。优先使用合...
分类:
其他好文 时间:
2014-05-26 01:31:47
阅读次数:
263
1.概念DIP:Dependency Inversion
Principle抽象不应当依赖于细节,细节应当依赖于抽象(说通俗点也就是要针对接口编程,不要针对实现编程;或者要依赖于抽象,不要依赖于具体)。2.为何叫“依赖倒转”?
传统的过程性系统的设计办法倾向于使高层次的模块依赖于低层次的模块;抽象层...
分类:
其他好文 时间:
2014-05-26 01:30:06
阅读次数:
232
里氏代换原则(Liskov Substitution Principle,
LSP)1什么是里氏代换原则 里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data
Abstraction and Hierarchy》里面提出来...
分类:
其他好文 时间:
2014-05-26 01:26:05
阅读次数:
379
一、定义:ISP:Interface Segregation Principle
接口隔离原则表明客户端不应该被强迫实现一些他们不会使用的接口,应该把胖接口中的方法分组,然后用多个接口代替它,每个接口服务于一个子模块使用多个专门的接口比使用单一的总接口要好。一个类对另外一个类的依赖性应当是建立在最小...
分类:
其他好文 时间:
2014-05-26 01:23:05
阅读次数:
202
来源:迪米特法则(LoD)最初是用来作为面向对象的系统设计风格的一种法则,是很多著名系统,如火星登陆软件系统、木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则。迪米特法则(LoD)又可分为两种:狭义的迪米特法则(LoD)和广义的迪米特法则(LoD)。概念:LOD:LOD,Law
Of Demeter...
分类:
其他好文 时间:
2014-05-26 01:20:27
阅读次数:
175
网上看到不少关于适配器模式的讲解,其中对于适配器模式解释的过于专业,一时不是特别理解适配器模式到底是用来干嘛的,具体的适用场景在哪,其最精髓的地方到底在哪。本文结合自己的理解,阐述下对适配器模式的看法。假设系统存在一个现有的类UserInfo:
1 class UserInfo { 2 3 ...
分类:
其他好文 时间:
2014-05-26 00:04:02
阅读次数:
312
设计模式创建型模式 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 4.
创建者模式 5. 单例模式 6.
原型模式简单工厂模式又称静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例。而这些被创建的类有一个共同的父类,从而面向抽象编程。类图:
1优点:客户端不再负责对象的创建,...
分类:
其他好文 时间:
2014-05-26 00:02:55
阅读次数:
317
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
模型-视图-控制器(MVC)是80年代Smallt...
分类:
其他好文 时间:
2014-05-25 23:19:23
阅读次数:
235
1.
代理模式(Proxy)的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。【阎宏:《Java与模式】
分类:
编程语言 时间:
2014-05-25 03:43:24
阅读次数:
303