设计模式之桥接模式
Posted loveprogramme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之桥接模式相关的知识,希望对你有一定的参考价值。
from abc import ABCMeta, abstractmethod """ 桥接模式:将抽象与实现解耦,使得他们可以毒力的变化 桥接模式关注的是抽象和实现的分离,使得它们可以独立发展; 桥接模式是结构性模式,侧重于软件结构。而策略模式关注的是对算法、规则的封装, 使得算法可以独立于使用它的用户而变化;策略模式是行为模式,侧重于对象行为。 """ class Shape(metaclass=ABCMeta): """形状""" def __init__(self, color): self._color = color @abstractmethod def getShapeType(self): pass def getShapeInfo(self): return self._color.getColor() + "的" + self.getShapeType() class Rectange(Shape): """矩形""" def __init__(self, color): super().__init__(color) def getShapeType(self): return "矩形" class Ellipse(Shape): """椭圆""" def __init__(self, color): super().__init__(color) def getShapeType(self): return "椭圆" class Color(metaclass=ABCMeta): @abstractmethod def getColor(self): pass class Red(Color): """红色""" def getColor(self): return "红色" class Green(Color): """绿色""" def getColor(self): return "绿色" def testShape(): redRect = Rectange(Red()) print(redRect.getShapeInfo()) greenRect = Rectange(Green()) print(greenRect.getShapeInfo()) if __name__ == "__main__": testShape()
以上是关于设计模式之桥接模式的主要内容,如果未能解决你的问题,请参考以下文章