随笔分类 - 设计模式
摘要:定义 迭代器模式(Iterator pattern):用于顺序访问集合对象里的每一个元素,不用暴露集合是怎样存储元素的。 举例 某个班级有若干个学生,现在需要统计这些学生的平均分数。假设所有学生的分数是用数组存储的: int totalScore(int *array, int n) { int s
阅读全文
摘要:定义 **责任链模式(Chain of Responsibility Pattern)**中,有一条由请求处理者对象组成的链条,每个对象(除最后一个对象外)都持有下一个对象的引用,请求发送者将请求发送给第一个对象,请求就会顺着链条走下去,直到有对象能够处理请求。该模式将多个处理者对象解耦,使得请求发
阅读全文
摘要:场景引入 假如你在A城市,要去B城市旅游,交通方式有以下几种选择: 驾车 火车 飞机 不难写出这样的代码: void transport(string method) { if (method == "drive") { // 处理驾车相关业务逻辑 } else if (method == "tra
阅读全文
摘要:定义 **桥接模式(Bridge Pattern)**定义:将抽象化与实现化分离,使得双方可以独立变化。 当然定义什么的通常都晦涩难懂,咱们还是借助例子来理解。 举例 还是举个例子吧。 假如说,有个图形(Graphics)接口,具有方法draw(),他有两个可以变化的维度,形状(Shape)和颜色(
阅读全文