ZH
首页
归档
分类
标签
关于
抽象工厂
抽象工厂模式,又称Abstract Factory模式,相对于工厂模式,抽象工厂模式是将几个具有关联性的对象合并在一个工厂中创建。 定义提供一个接口,让该接口负责创建一系列“相关或者相互依 赖的对象”,无需指定它们具体的类。 — 《设计模式》 GoF 动机在工厂模式中,一个工厂接口产生一个抽象的工厂对象,一组具体的工厂产生每一个具体的对象,重载工厂方法,但是在实际使用中,我们有时候需要产生多个
2019-07-30
C++设计模式
C++设计模式
策略模式
策略模式,又称strategy模式,是用于封装多样性的算法,避免支持不使用的算法带来的性能负担。 定义定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。 — 《设计模式》 GoF 动机在软件系统中,常常会遇到许多算法可以实现同一功能的情况,可以将这些算法写到一个类中,通过if…e
2019-07-28
C++设计模式
C++设计模式
工厂模式
工厂模式又称Factory Method,属于对象创建模式中的一种,用来支持对象稳定的创建。 定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。 — 《设计模式》 GoF 动机根据设计模式的依赖倒置原则,1 高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象接口,2抽象接口不应该依赖于具
2019-07-28
C++设计模式
C++设计模式
桥接模式
桥模式,又叫Bridge模式,和之前的装饰模式有点类似,都属于单一职责模式,不同的是装饰模式的动机是动态的扩展对象的功能,而桥模式是为了应对一个场景中有两个或多个不同维度的变化,桥模式可以弱化他们的耦合性,使得它们可以按照各自的方向扩展。 定义将抽象部分(业务功能)与实现部分(平台实现)分离,使它们都可以独立地变化。 —《设计模式》 GoF 动机桥接模式的意图是将抽象与实现解耦,使得两者可以独
2019-07-27
C++设计模式
C++设计模式
装饰模式
修饰模式,又叫Decorator模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。 定义动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码 & 减少子类个数)。 — 《设计模式》 GoF Motivatio
2019-07-27
C++设计模式
C++设计模式
观察者模式
观察者模式,又叫Observer模式或者Event模式,是用来对事件进行通知的模式,在UI框架中使用的比较多。 定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。 — 《设计模式》 GoF Motivation 动机为了给某些对象建立一种通知依赖关系,即一个对象发生变化,所有的依赖对象都会得到通知。使用面向对象的
2019-07-26
C++设计模式
C++设计模式
模板模式
本文介绍23种设计模式的第一种,模板模式,英文是Template Method,这是一个非常常用的设计模式。从封装变化角度来分类,模板模式属于组件协作模式的一种。 定义定义一个操作中的算法的骨架 (稳定),而将一些步骤延迟 (变化)到子类中。Template Method使得子类可以不改变 (复用)一个算法的结构即可重定义(override 重写)该算法的某些特定步骤。 —《设计模式》 Go
2019-07-25
C++设计模式
C++设计模式
线程
线程基础知识包含两个部分,1是线程的基础概念,线程控制的API和线程属性设置的API,具体可以参考man手册,2是线程间同步的方法,有互斥锁,读写锁,条件变量,信号量等,以及使用信号量实现生产者消费者模型。 线程,light weight process 轻量级的进程,是内核调度的基本单位,ps –Lf pid 查看指定线程的lwp号,lwp号和进程ID很相似,不是线程ID,线程ID是进程中
2019-07-21
Unix环境编程
Unix环境编程
守护进程
进程组与会话进程组进程组,也称之为作业,顾名思义,代表一个或多个进程的集合,设计进程组的概念是为了简化对多个进程的管理。父进程创建子进程的时候,默认父子进程位于同一个进程组,进程组的ID就是第一个进程的ID,第一个进程成为进程组的组长。只要进程组有一个进程存在,进程组就存在,与组长进程是否终止无关。进程组生存期:进程组的最后一个进程终止。一个进程可以为自己或者子进程设置进程组ID 进程组操作函数
2019-07-15
Unix环境编程
Unix环境编程
mmap
Linux操作系统提供的IPC方法有很多,如文件,管道,信号,共享内存,消息队列,套接字,命名管道等,常用的进程间通信方法有: 管道 (使用最简单) 信号 (开销最小) 共享映射区 (无血缘关系) 本地套接字 (最稳定) mmap函数基本用法上述IPC方法中的共享映射区就是使用mmap函数实现的,该函数的功能是将磁盘文件的内容映射到内存中,在不适用read和write函数的情况下,使用地址(指
2019-07-14
Unix环境编程
Unix环境编程
1
2
3
4
5
搜索
×
关键词