2017年12月31日

侯捷STL课程及源码剖析学习3: 深度探索容器list

摘要: 一、容器概览 上图为 GI STL 2.9的各种容器。图中以内缩方式来表达基层与衍生层的关系。所谓的衍生,并非继承(inheritance)关系,而是内含(containment)关系。例如 heap 内含一个 vector,priority-queue 内含一个 heap,stack 和 queu 阅读全文

posted @ 2017-12-31 21:19 flysong 阅读(424) 评论(0) 推荐(0) 编辑

2017年12月20日

侯捷STL课程及源码剖析学习2: allocator

摘要: 以STL 的运用角度而言,空间配置器是最不需要介绍的东西,它总是隐藏在一切组件(更具体地说是指容器,container)的背后,默默工作默默付出。 阅读全文

posted @ 2017-12-20 17:40 flysong 阅读(914) 评论(0) 推荐(0) 编辑

2017年12月17日

侯捷STL课程及源码剖析学习1

摘要: 1.C++标准库和STL C++标准库以header files形式呈现: 在标准库中,标准模板库STL(Standard Template Library),占据了标准库70%,80%以上的内容。 C++ 标准库的范围大于STL的范围。STL的核心思想是泛型编程(Generic Programmi 阅读全文

posted @ 2017-12-17 23:18 flysong 阅读(1245) 评论(2) 推荐(0) 编辑

2017年12月14日

设计模式总结

摘要: 设计模式: 一个目标:管理变化,提高复用 有无复用的必要性 两种手段: 分解 VS 抽象 八大原则: 原则比模式更重要 重构技法: 五种技法,相通 什么时候不用设计模式 代码可读性很差时:清楚可读性差 需求理解很差时: 变化没有显现时: 不是系统的关键依赖点: 项目没有复用价值时: 项目将要发布时: 阅读全文

posted @ 2017-12-14 19:38 flysong 阅读(105) 评论(0) 推荐(0) 编辑

2017年12月10日

设计模式9:“行为变化,领域规则“模式——Command、Visitor、Interpreter

摘要: 在组建的构建过程中,组建行为的变化经常导致组建本身剧烈的变化。“行为变化”模式将组建的行为和组建本身进行解耦,从而主持组件的变化,实现两者之间的松耦合。 典型模式 Command ,Visitor 阅读全文

posted @ 2017-12-10 16:06 flysong 阅读(274) 评论(0) 推荐(0) 编辑

设计模式8:“数据结构”模式——Composite,Iterator,Chain of Responsibility

摘要: 常常有一些组建在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大的破坏组件的复用。这时候,将这些数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。 典型模式 Composite Iterator Chain of Responsibility 阅读全文

posted @ 2017-12-10 15:52 flysong 阅读(278) 评论(0) 推荐(0) 编辑

2017年12月9日

设计模式7:“状态变化模式”——State状态模式,Memento备忘录

摘要: 在组建构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?“状态变化”模式为这一个问题提供了一种解决方案。 典型模式:State ,Memento 阅读全文

posted @ 2017-12-09 17:32 flysong 阅读(125) 评论(0) 推荐(0) 编辑

设计模式6:“接口隔离”模式——Façade,Proxy,Adapter,Mediator

摘要: 在组建构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接接口(稳定的),来隔离本来相互紧密关联的接口是一种常见的解决方案。典型模式: Façade,Proxy,Adapter,Mediator 阅读全文

posted @ 2017-12-09 13:16 flysong 阅读(232) 评论(0) 推荐(0) 编辑

设计模式5:“对象性能”模式——Singleton单件模式,享元模式FlyWeight

摘要: 面向对象很好的解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。典型模式:Singleton,Flyweight 阅读全文

posted @ 2017-12-09 11:32 flysong 阅读(124) 评论(0) 推荐(0) 编辑

2017年12月8日

设计模式4:“对象创建”模式——Factory Method, Abstract Factory, Prototype, Builder

摘要: “对象创建”模式:通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 典型模式:Factory Method, Abstract Factory, Prototype, Builder 阅读全文

posted @ 2017-12-08 23:01 flysong 阅读(184) 评论(0) 推荐(0) 编辑

导航