摘要:
# 责任链模式 ## 模式定义 + 责任链模式属于行为型模式,使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理为止。 ## 模式角色 + Handler 抽象类:处理请求对象的抽象类 + ConcreteHand 阅读全文
摘要:
# 命令模式 ## 模式定义 + 命令模式是一种行为定义模式,可以将请求转换成一个与请求相关的,包含该请求所有信息的独立对象,并且能够根据不同请求将方法参数化,延迟请求执行或者将其放入到队列中且能实现撤销等操作 ## 模式动机 + 敏捷开发的原则要求,不要在代码上添加基于猜测的,实际上不需要的功能。 阅读全文
摘要:
# 桥接模式(Bridge) ## 模式定义 + 将抽象部分和实现接口分离,使它们可以独立变化。是一种结构性模式。 ## UML 图 ## 时序图 ## 角色定义 1. 抽象类(Abstraction) + 用于定义抽象类的接口,其中定义了一个 Implementation 实现类接口的对象,并可以 阅读全文
摘要:
SHARED_CFLAGS=-fPIC -shared SHARED_SRC=calac_level.cpp calac_level.h BIN_SRC=main.cpp SHARED_PATH=-L ./ -lcalac_level BIN_CFLAGS= -Wl,-rpath,./ -g CC_ 阅读全文
摘要:
# 两个shell脚本的实例 ## 拷贝文件脚本 1. 将一个文件从一个文件夹指定的拷贝到另外一个文件夹 ``` #!/bin/bash broad_file="path_broad" tuner_lib="tuner_lib" diagnostic_file="diagnosticService" 阅读全文
摘要:
C/C++ 中,如果需要将 int 或者 unsigned int 以及 long 和 unsigned long 类型数据互转,则可以参考一下代码 #include<cstdio> typedef unsigned int uint32_t; typedef unsigned long int u 阅读全文
摘要:
# 模板方法模式 ## 模式定义 + 定义一个操作中的算法的骨架,将算法的实现步骤延迟到子类中。模板方法使得一个子类可以不改变一个算法的结构即可重定义该算法的特定步骤 ## UML 类图 ## 使用场景 1. 当我们要完成在某一个细节层次一致的过程或者一系列步骤时,但个别步骤在更详细的层次上的实现可 阅读全文
摘要:
工厂模式 定义 工厂父类负责定义创建对象的公共接口,子类则负责生成具体的对象 将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化哪个类 类图 组成 抽象产品 具体产品的父类,描述具体产品的公共接口 具体产品 抽象产品的子类,生产的具体产品 抽象工厂 具体工厂 阅读全文
摘要:
定义 为其他对象提供一种代理以控制对这个对象的访问 类图 时序图 角色定义 抽象主体角色:抽象类或者接口,普通业务的定义 具体主体角色:被代理角色,业务逻辑的具体执行者 代理主体角色:委托类,代理类 优缺点 优点 职责清晰,实现好内部结构即可,具体客户要求由代理进行分化 高扩展性:具体主体角色随时变 阅读全文
摘要:
简介 + 动态的给对象添加一些额外的职责,就增加功能来说,要比生成子类更加灵活 使用场景 + 在不影响其他对象的情况下,以透明、动态的方式给单个对象添加职责; + 处理可以撤销的职责 + 在不能采用生成子类的方法进行扩充时。 - 可能有大量独立的扩展,为支持的每一种组合将产生大量的子类,使得子类数量 阅读全文