### 合成/聚合复用原则
尽量使用合成/聚合,尽量不要使用类继承。(摘抄)
其实合成/聚合复用原则,平时都会使用,但是自己总结可能有点总结不出来。这个原则用我的理解就是抽象与抽象之间划分必须明确,尽量不要让一个抽象去继承与另一个抽象,要让一个抽象去调用另一个抽象。
继承的使用必须要十分谨慎,因为使用继承之后,父类发生改变,必然会影响到子类。继承使用时必须要确定当前类和父类是有非常紧密的关系,不然会对当前类的复用产生很大的影响。要从当前类的职责来考虑问题。
聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成则是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周一样。(摘抄)
合成/聚合复用原则的好处是,优先使用对象的合成/聚合将有助于你保持每个类被封装,并集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物。(摘抄)
### 桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立地变化。(摘抄)
这句话地意思应该是把它的每个功能和功能之间都分开。然后这些功能和整个物体的抽象也分开。
这个功能的说法并不是一定代表一个具体的功能,它是这个系统的某一个实现,暂且把实现就当成实现一个功能
~~~
//功能接口
public interface Implementor
{
void Operation();
}
//功能的实现A&B
public class ConcreteImplA implements Implementor
{
@Override
public void Operation() {
// TODO Auto-generated method stub
System.out.println("A");
}
}
public class ConcreteImplB implements Implementor
{
@Override
public void Operation() {
// TODO Auto-generated method stub
System.out.println("B");
}
}
//整个物体的抽象
public class Abstract
{
public Implementor implementor;
public void setImplementor(Implementor implementor) {
this.implementor = implementor;
}
public void Operation()
{
implementor.Operation();
}
}
//某个子物体
public class RefinedAbstract extends Abstract
{
@Override
public void Operation()
{
//可以添加特有的一些操作
implementor.Operation();
}
}
class Client
{
public static void main()
{
Abstract ab = new RefinedAbstract();
ab.setImplementor(new ConcreteImplA());
ab.Operation();
ab.setImplementor(new ConcreteImplB());
ab.Operation();
}
}
~~~
实现系统啃呢个有多种角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。(摘抄)—— 感觉这句话总结得很精辟。
- 前言
- (1)代码无错就是优?——简单工厂模式
- (2)商场促销——策略模式
- (3)&(4)&(5) 设计模式原则
- (6)穿什么有这么重要?——装饰模式
- (7)为别人做嫁衣——代理模式
- (8)雷锋依然在人间——工厂方法模式
- (9)简历复印——原型模式
- (10)考题抄错会做也白搭——模板方法模式
- (11)迪米特法则
- (12)牛市股票还会亏钱?—— 外观模式
- (13)好菜每回味不同——建造者模式
- (14)老板回来,我不知道——观察者模式
- java实现事件委托
- (15)就不能不还DB吗?—— 抽象工厂模式
- (16)无尽加班何时休息——状态模式
- (17)在NBA我需要翻译——适配器模式
- (18)如果再回到从前——备忘录模式
- (19)分公司=部门——组合设计模式
- (20)想走?可以!先买票——迭代器模式
- (21)有些类也需计划生育——单例模式
- (22)手机软件何时统一——桥接模式
- (23)烤羊肉串引来的思考——命令模式
- (24)加薪非要老总批?——职责链模式
- (25)世界需要和平——中介者模式
- (26)项目多也别傻做——享元模式
- (28)男人和女人——访问者模式