桥接模式实例与解析 实例一:模拟毛笔 现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3种型号的毛笔,外加5个颜料盒,用3+5=8个类就可以实现15支蜡笔的功能
from abc import ABCMeta, abstractmethod from enum import Enum # 工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式 # 简单工厂模式:定义一个创建对象(实例化对象)的接口,通过参数来决定创建哪个类的实例 # 工厂方法模式:定义一个创建对象(实例化对象)的接口,让子类来决定创建哪个
桥接模式 桥接模式用一种很巧妙的方式处理继承存在的问题,用抽象关联取代了传统的多层继承,将类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效地控制了系统中类的个数。 模式动机 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要四个形状
桥接模式 模式动机 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: • 第一种设计方案是为每一种形状都提供一套各种颜色的版本。