设计与重构
安全设计原则及方法+软件建模和设计模式+重构分析+开发者测试
自由技艺
资深AI算法和C++软件工程师,专注于下一代分布式AI系统,曾就职于华为、百度,北邮土著博士
请关注知乎同名账号
展开
-
如何读懂开源代码?
找到入口,梳理主线确定模块、文件、函数功能,梳理框架利用IDE统计功能,基于接口,分解目标,制成excel表格,记录走读进度批判性思考:为什么要这样做?原创 2020-06-02 14:48:05 · 362 阅读 · 1 评论 -
重构 - 以委托取代继承
重构前,class Sanitation { public String washHands() { return "Cleaned ..."; }}class Child extends Sanitation {}重构后,class Child { // 具有委托对象 Sanitation 的实例 private Sanitation sanitation; public String washHands() { // 这里使用委托获得 washHands() 方法原创 2020-05-28 16:18:39 · 286 阅读 · 0 评论 -
23种设计模式
结构型模式结构型模式为解决怎样组装现有的类,设计他们的交互方式,从而达到实现一定的功能的目的。结构型模式包含了对很多问题的解决,例如:扩展性(外观、组合、代理、装饰、享元)封装性(适配器、桥接)创建模式抽象了实例化的过程(简单工厂、工厂方法、抽象工厂、建造者、原型、单例)行为模式行为模式使用继承机制在类间分派行为;行为对象模式使用对象聚合来分配行为。...原创 2020-05-27 11:10:38 · 125 阅读 · 0 评论 -
大话设计模式 真是本好Book
策略模式class Context {public: Strategy strategy; Context (Strategy& strategy) { this.strategy = strategy; } void ContextInterface() { strategy.AlgorithmInterface(); }}装饰模式把类中的装饰功能从类中搬移去除,这样可以简化原有的类。把每个要.原创 2020-05-25 16:55:37 · 184 阅读 · 0 评论 -
设计模式入口
针对抽象编程,减少与具体类的耦合!针对抽象编程,减少与具体类的耦合!针对抽象标称,减少与具体类的耦合!重要的事说3遍!原创 2020-05-25 14:30:17 · 164 阅读 · 0 评论 -
独立开发一个完整的系统,你肯定会遇到的问题!
明确系统需求。用什么编程语言?运行在 linux 上还是 windows 上?数据规模多大?对性能的要求?新建git工程,组织好文件夹,如src, include, doc, data,build, bin等。准备好构建环境及构建工具、代码等划分为几个 class ?每个 class 有哪些功能?类的类型是抽象类、实现类、虚基类、接口类等?每个 class 有哪些数据?数据的访问权限是 private 还是 public?数据类型是 static 还是 const ?类与类之间的关系是组合、聚合.原创 2020-05-22 11:02:01 · 993 阅读 · 0 评论 -
C++ 设计模式 -- 结构型模式
结构型模式(Structural Pattern):描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。对象结构型模式关心类与对象的组合,根据“合成复用原则”,在系统中尽量使用关联关系来替代继承关系,因此大部分结构型模式都是对象结构型模式。...转载 2020-05-21 17:09:51 · 353 阅读 · 0 评论 -
什么是TDD?
TDD 的基本流程是:红,绿,重构。更详细的流程是:写一个测试用例运行测试,失败(红)写刚好能让测试通过的实现运行测试,成功(绿)识别坏味道,重构代码(重构)运行测试,成功...原创 2020-04-27 16:27:53 · 891 阅读 · 0 评论 -
C++设计模式 -- 责任链模式 CRP
// 抽象管理者class Manager {protected: Manager *m_manager; string m_name;public: Manager(Manager *manager, string name) : m_manager(manager), m_name(name) {} virtual void DealWithReques...转载 2020-04-27 15:45:33 · 219 阅读 · 0 评论 -
设计模式概述
设计模式、SOLID原则、正交四原则,都是为了更容易的高类聚低耦合;23种设计模式分为3类:创建型(5种)、结构型(7种)、行为型(11种);工厂方法屏蔽了某种对象的创建过程,是1:1的,抽象工厂可以实现1:N;适配器模式:接口转换;外观模式:为一个复杂的系统对外提供一个统一的接口,将复杂屏蔽在内部,让客户端易于使用:观察者模式:实现了依赖倒置,让数据持有者与数据消费者分离;责任链模...原创 2020-04-26 16:17:15 · 334 阅读 · 0 评论 -
重构
表驱动多态原创 2020-02-29 11:20:38 · 86 阅读 · 0 评论