美文网首页Python设计模式
Python设计模式 - 桥接模式

Python设计模式 - 桥接模式

作者: jumo | 来源:发表于2020-02-21 10:45 被阅读0次

"""

桥接模式:将系统抽象部分与它的实现部分分离,使它们可以独立地变化。

由于目标系统存在多个角度的分类,每一种分类都会有多种变化,那么就可以把多角度分离出来,让它们独立变化,减少它们之间的耦合。

"""

# 具体实现者1/2

class DrawingAPI1(object):

    def draw_circle(self, x, y, radius):

        print('API1.circle at {}:{} 半径 {}'.format(x, y, radius))

# 具体实现者2/2

class DrawingAPI2(object):

    def draw_circle(self, x, y, radius):

        print('API2.circle at {}:{} 半径 {}'.format(x, y, radius))

# 优雅的抽象

class CircleShape(object):

    def __init__(self, x, y, radius, drawing_api):

        self._x = x

        self._y = y

        self._radius = radius

        self._drawing_api = drawing_api

    # 低层次的,即具体的的实现

    def draw(self):

        self._drawing_api.draw_circle(self._x, self._y, self._radius)

    # 高层次的抽象

    def scale(self, pct):

        self._radius *= pct

def main():

    shapes = (

        CircleShape(1, 2, 3, DrawingAPI1()),

        CircleShape(5, 7, 11, DrawingAPI2())

    )

    for shape in shapes:

        '''坐标--缩放变换'''

        shape.scale(2.5)

        shape.draw()

if __name__ == '__main__':

    main()

相关文章

  • 设计模式-桥接模式

    设计模式-桥接模式 定义 桥接模式(Bridge Pattern)也称为桥梁模式、接口(Interface)模式或...

  • Python设计模式 - 桥接模式

    """ 桥接模式:将系统抽象部分与它的实现部分分离,使它们可以独立地变化。 由于目标系统存在多个角度的分类,每一种...

  • 桥接模式

    设计模式:桥接模式(Bridge)

  • 设计模式——桥接模式

    设计模式——桥接模式 最近公司组件分享设计模式,然而分配给我的是桥接模式。就在这里记录我对桥接模式的理解吧。 定义...

  • 设计模式之桥接模式

    设计模式之桥接模式 1. 模式定义 桥接模式又称柄体模式或接口模式,它是一种结构性模式。桥接模式将抽象部分与实现部...

  • python设计模式(六):桥接模式

    桥接,是像一座桥连接两岸,而Python程序设计中的桥接指的是抽象部分和实体部分的连接,简单来说是类和类实例化过称...

  • 桥接模式

    介绍 桥接模式(Bridge Pattern) 也称为桥梁模式,是结构型设计模式之一。桥接模式的作用就是连接 "两...

  • Java设计模式——桥接模式

    Java设计模式之桥接模式 回顾 上一期分享了适配器模式,主要为了实现解耦 桥接模式 简介 桥接模式是对象的结构模...

  • 设计模式-桥接模式

    桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是结构型设计模式之一。顾名思义其与现实中的桥...

  • Android设计模式——桥接模式(七大结构型)

    1.桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是七大结构型设计模式之一。 2....

网友评论

    本文标题:Python设计模式 - 桥接模式

    本文链接:https://www.haomeiwen.com/subject/kqaqqhtx.html