(十二)组合模式
当我们水果店做的非常大的时候,客户的订单来自不同的地方
文章图片
客户端订单目的地
【(十二)组合模式】每个省市行政区,都有很多不同的级别,这样的话在项目中类文件会非常多
文章图片
image.png
这时候需要找出他们的共性提取出来,减少类的种类
组合模式
文章图片
组合模式
虽然行政区很多,但是我们可以把他们看成一个节点(Node),把这个节点抽象出来,所有的行政区都是一个节点,该行政区的下属行政机构就是子节点,这其实就是树形结构,这样抽象出来后,类型大大减少,只有一个Node
public abstract class Node {
private String name;
public Node(String name){
this.name = name;
}public abstract List getChildren();
public String getName() {
return name;
}
}
public class LeafNode extends Node{
private List children = new ArrayList<>();
public LeafNode(String name) {
super(name);
}@Override
public List getChildren() {
return children;
}public void addChild(Node node){
children.add(node);
}public void delChild(int i){
children.remove(i);
}}
总结
所谓的组合模式,就是减少数据类型,尽可能的抽象出来,减少项目结构上的复杂度
推荐阅读
- 《十二夜》观后感
- 亲子日记第十二天
- 《卓有成效的管理者》第二十二堂课(创造英雄)
- 亲子日记第三百四十二篇|亲子日记第三百四十二篇 暴雨
- 苍灵十二将I|苍灵十二将I 第一百二十五章 关门猎兽
- 我的六合微生活(四十二)也说“体心胆”合练
- 《教育心理学》读书笔记十二
- 欢乐小分队内蒙东北行第六站(第十二天)五大连池印象之(奇特壮观的火山地貌景观)
- 21天|21天|羊多多组合《书都不会读,你还想成功》
- --木木--|--木木-- 第二课作业#翼丰会(每日一淘6+1实战裂变被动引流# 6+1模式)