摘要: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类 阅读全文
posted @ 2024-09-16 17:40 博瑜图形 阅读(23) 评论(0) 推荐(0)
摘要: 定义一个用于创建对象的接口,让子类决定用哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类 阅读全文
posted @ 2024-09-16 16:03 博瑜图形 阅读(31) 评论(0) 推荐(0)
摘要: 代理模式是一种对象结构型模式,在该模式中引入了一个代理对象,在客户端和目标访问对象之间起到中介的作用。代理对象可以屏蔽或删除客户不想访问的内容和服务,也可以根据客户需求增加新的内容和服务 阅读全文
posted @ 2024-09-16 13:09 博瑜图形 阅读(19) 评论(0) 推荐(0)
摘要: 装饰模式是一种用于替代继承的技术。通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有对象的方法,还可以增加新的方法,以扩充原有类的功能。 阅读全文
posted @ 2024-09-16 12:17 博瑜图形 阅读(27) 评论(0) 推荐(0)
摘要: 定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户而变化 阅读全文
posted @ 2024-09-16 09:59 博瑜图形 阅读(25) 评论(0) 推荐(0)
摘要: 定义一个简单工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类 阅读全文
posted @ 2024-09-16 09:26 博瑜图形 阅读(17) 评论(0) 推荐(0)
摘要: 为驳回编译器自动(暗自)提供的技能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种做法 阅读全文
posted @ 2024-09-10 05:25 博瑜图形 阅读(24) 评论(0) 推荐(0)
摘要: 编译器可以暗自为class创建default构造函数,copy构造函数,copy assignment操作符,以及析构函数 阅读全文
posted @ 2024-09-07 22:07 博瑜图形 阅读(12) 评论(0) 推荐(0)
摘要: 1. 为内置型对象进行手工初始化,因为c++不保证初始化它们 2. 构造函数最好使用成员初值列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序应该和它们在class中的声明次序相同 3. 以免除"跨编译单元之初始化次序"问题,请以local static对象替换non-local static对象 阅读全文
posted @ 2024-09-07 20:50 博瑜图形 阅读(22) 评论(0) 推荐(0)
摘要: 1. 将某些东西声明为const 可帮助编译器侦测出错误用法。const可被施加于任何作用内的对象,函数参数,函数返回类型,成员函数本体 2. 编译器强制实施bitwise constness,但你编写程序时应该使用"概念上的常量型" 3. 当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复 阅读全文
posted @ 2024-09-07 14:59 博瑜图形 阅读(17) 评论(0) 推荐(0)