1. 意图
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
2. 别名
handle/body
3. 动机
当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,
而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它
的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。
举个例子:
比如足球联赛。分为A组联赛,B组联赛,C组联赛。又分为中国A组,美国A组,英国C组等等。。。这样会出现一个庞大的子类群。
这时候你就可以进行拆分,图例如下:
[img]/upload/attachment/108920/a63f81c8-cfd3-3cdb-9333-aaf146986cb0.jpg[/img]
感觉是不是很像adapter模式呀?但是他们的目的可是不相同的呀。前者是为了转接口,后者是为了拆分类。
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
2. 别名
handle/body
3. 动机
当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,
而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它
的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。
举个例子:
比如足球联赛。分为A组联赛,B组联赛,C组联赛。又分为中国A组,美国A组,英国C组等等。。。这样会出现一个庞大的子类群。
这时候你就可以进行拆分,图例如下:
[img]/upload/attachment/108920/a63f81c8-cfd3-3cdb-9333-aaf146986cb0.jpg[/img]
感觉是不是很像adapter模式呀?但是他们的目的可是不相同的呀。前者是为了转接口,后者是为了拆分类。