如何用Python3实现组合设计模式的简单示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1216个文字,预计阅读时间需要5分钟。
组合模式是将一个类归为一个整体,并组织多个整体之间的关系,通过树形结构来描述所有整体。通常的编写方式是一个类对下添加多个该类对象,该对象再作为其他对象的组成部分。
组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体。
一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素。简单来说就是一个学校有一个总部,总部下有有师资部、招生部;总部有分校,分校也有。
在我个人看来,设计模式的使用并不局限于书本描述的具体问题的解决,是需要丰富的业务经验才能更好的灵活应用,本人能力有限,在此也是给出一个简单的示例用来说明,额外的灵活运营需要看个人的编写方式。
首先新建一个学校的基类:
#根 class root: name = '' def __init__(self, name): self.name = name def add(self, root): pass
以上学校基类初始化方法为接收一个name,并且有一个抽象方法add。
有了一个学校基类后,具体新建一个学校类,继承root基类:
#学校类 class School(root): childrenroot = [] def add(self, root): self.childrenroot.append(root)
在以上学校类中,继承了root基类,并且实现了add方法,接收root值,并且把它添加到 childrenroot 列表中,这样可以网当前对象下添加子节点,或者说添加下级对象。
本文共计1216个文字,预计阅读时间需要5分钟。
组合模式是将一个类归为一个整体,并组织多个整体之间的关系,通过树形结构来描述所有整体。通常的编写方式是一个类对下添加多个该类对象,该对象再作为其他对象的组成部分。
组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体。
一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素。简单来说就是一个学校有一个总部,总部下有有师资部、招生部;总部有分校,分校也有。
在我个人看来,设计模式的使用并不局限于书本描述的具体问题的解决,是需要丰富的业务经验才能更好的灵活应用,本人能力有限,在此也是给出一个简单的示例用来说明,额外的灵活运营需要看个人的编写方式。
首先新建一个学校的基类:
#根 class root: name = '' def __init__(self, name): self.name = name def add(self, root): pass
以上学校基类初始化方法为接收一个name,并且有一个抽象方法add。
有了一个学校基类后,具体新建一个学校类,继承root基类:
#学校类 class School(root): childrenroot = [] def add(self, root): self.childrenroot.append(root)
在以上学校类中,继承了root基类,并且实现了add方法,接收root值,并且把它添加到 childrenroot 列表中,这样可以网当前对象下添加子节点,或者说添加下级对象。

