什么是设计模式?
设计模式只是一种开发思想. 不是什么固定的格式.
前人的好的思想, 我们后人拿过来用!
mixin 设计模式:
1.mixin 设计迷失可以在不对类的内容的修改前提下, 扩展类的功能 (添加父类)
2. 更加方便的组织和维护不同的组建
3. 可以根据开发需要任意调整功能
4. 可以避免产生更多的类
缺点:
受继承关系限制, 推荐只有两层的继承使用.
1. 设计模式 - 单继承场景
- # 设计模式 - 单继承场景
- #这样每增加一个水果, 都得分别去继承它的父类 (方位)(送礼)(去皮)
- #水果类
- class Fruit:
- pass
- #========= 方位 ============
- #南方水果类
- class SouthFruit(Fruit):
- pass
- #北方水果类
- class NorthFruit(Fruit):
- pass
- #========== 送礼 =============
- ''''''
- #南方礼物水果
- class SouthGiftFruit(SouthFruit):
- pass
- #南方非礼物水果
- class SouthNotgiftFruit(SouthFruit):
- pass
- #北方礼物水果
- class NorthGiftFruit(NorthFruit):
- pass
- #北方非礼物水果
- class NorthNotgiftFruit(NorthFruit):
- pass
- #============= 去皮 =============
- #========== 真是水果 ==============
- #苹果类
- class Apple(NorthGiftFruit):
- pass
- #梨类
- class Pear(NorthNotgiftFruit):
- pass
- #香蕉
- class Banana(SouthNotgiftFruit):
- pass
- #桔子
- class Orange(SouthGiftFruit):
- pass
2. 设计模式 - 多继承场景
- 1 # 设计模式 - 多继承场景
- 2 # 这样每增加一个水果, 只须在它的继承中增加就可以 class Apple(Fruit,North, 在这里增加父类)
- #水果类
- class Fruit:
- pass
- #方位
- #南方类
- class South:
- pass
- #北方类
- class North:
- pass
- #苹果类
- class Apple(Fruit,North):
- pass
- #梨类
- class Pear(Fruit,North):
- pass
- #香蕉
- class Banana(Fruit,South):
- pass
- #桔子
- class Orange(Fruit,South):
- pass
来源: http://www.bubuko.com/infodetail-3055997.html