07 2017 档案

摘要:行为型设计模式之中介者模式: 一、含义 用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 同事角色与其他同时角色通信的时候,一定要通过中介者角色(中介者封装了各个同事类之间的逻辑关系) 二、代码说明 1.主要有两个角色 1) 阅读全文
posted @ 2017-07-31 19:05 yuweifeng 阅读(212) 评论(0) 推荐(0)
摘要:结构型设计模式之门面模式: 一、含义 门面模式也叫做外观模式,是一种比较常用的封装模式,其定义如下: 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,门面模式提供一个高层次的接口,使得子系统更易于使用。 通俗来说,门面模式注重"统一的对象",也就是提供一个访问子系统的接口,除了这个接口 阅读全文
posted @ 2017-07-28 19:35 yuweifeng 阅读(488) 评论(0) 推荐(0)
摘要:结构型设计模式之适配器模式: 一、含义 适配器模式又叫做变压器模式,也叫做包装模式,但是包装模式可不止一个(后续会有总结5个包装模式)。 其定义如下: 将一个类的接口变成客户端所期待的另一种接口,从而是原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 简单来说,适配器模式就是把一个接口或类转 阅读全文
posted @ 2017-07-27 16:15 yuweifeng 阅读(246) 评论(0) 推荐(0)
摘要:结构型设计模式之装饰模式: 一、含义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通俗来讲,装饰模式是对类的功能进行加强或减弱。 二、代码说明 1.主要有两个角色 1)构件 最核心、最原始、最基本的对象,也就是要装饰的对象。 2)装饰角色 把最核心、最原始、最 阅读全文
posted @ 2017-07-26 20:05 yuweifeng 阅读(258) 评论(0) 推荐(0)
摘要:结构型设计模式之代理模式: 一、含义 代理模式也叫做委托模式,其定义如下: 为其他对象提供一种代理以控制对这个对象的访问。 二、代码说明 1.主要有两个角色 1)具体主题角色 也叫做委托角色、被代理角色。它是业务逻辑的具体执行者。 2)代理主题角色 也叫做委托类、代理类。它负责对真实角色的应用,把所 阅读全文
posted @ 2017-07-24 20:11 yuweifeng 阅读(389) 评论(0) 推荐(0)
摘要:volatile 的意思是“易失的,易改变的”。 一、volatile的引入 这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx。当CPU把其值放到ebx中后就不会再关心对应内存中的值。若此时其他程序( 阅读全文
posted @ 2017-07-24 16:08 yuweifeng 阅读(203) 评论(0) 推荐(0)
摘要:结构型设计模式之桥梁模式: 一、含义 桥梁模式也叫做桥接模式,其定义如下: 将抽象和实现解耦,使得两者可以独立地变化。 只要记住一句话就行:抽象角色引用实现角色,或者说抽象角色的部分实现是由实现角色完成的。 二、代码说明 1.主要有四个角色 1)抽象化角色 它的主要职责是定义出该角色的行为,同时保存 阅读全文
posted @ 2017-07-21 18:47 yuweifeng 阅读(377) 评论(0) 推荐(0)
摘要:行为型设计模式之策略模式: 一、含义 策略模式是一种比较简单的模式,也叫做政策模式,其定义如下: 定义一组算法(可抽象出接口),将每个算法都封装起来,并且使它们之间可以互换(定义一个类实现封装与算法切换) 二、代码说明 1.主要有两个角色 1)Context封装角色 它也叫做上下文角色,起承上启下 阅读全文
posted @ 2017-07-20 20:09 yuweifeng 阅读(307) 评论(0) 推荐(0)
摘要:行为型设计模式之命令模式: 一、含义 将请求(命令)封装成一个对象(内部有接收者对象,以及按照具体命令执行接收者操作的方法),传递给调用者,由调用者执行具体命令。 也就是把一个动作的执行分为执行对象(接收者角色)、执行行为(命令角色),让两者相互独立而不相互影响,实现对动作解耦 二、代码说明 1.主 阅读全文
posted @ 2017-07-19 20:11 yuweifeng 阅读(268) 评论(0) 推荐(0)
摘要:行为型设计模式之访问者模式: 一、含义 访问者(一个类)访问到(接收到)各种元素(各种类)后作出相应的操作 (针对访问的对象不同(意味着可访问多个不同的对象),执行不同的操作) 二、代码说明 1.主要有两个角色 1)访问者: 访问到各个类后,对应各个类该怎么干,要做什么事情。 2)元素: 允许接受哪 阅读全文
posted @ 2017-07-18 19:42 yuweifeng 阅读(277) 评论(0) 推荐(0)
摘要:行为型设计模式之责任链模式: 一、含义 责任链模式的核心在"链"上,"链"是由多个处理者(对象)组成的,由这条链传递请求,直到有对象处理它为止(在链中决定谁来处理这个请求),并返回相应的结果 二、代码说明 1.主要有两个角色 1)处理者 它能够对请求做出处理(请求得到处理则直接返回,否则传到下一个处 阅读全文
posted @ 2017-07-17 19:39 yuweifeng 阅读(269) 评论(0) 推荐(0)
摘要:行为型设计模式之观察者模式: 一、含义 观察者模式也叫做发布订阅模式,定义对象间一种一对多的依赖关系, 每当一个对象改变状态(被观察者),则所有依赖于它的对象(观察者)都会得到通知并被自动更新 即被观察者对应状态产生时,会通知所有的观察者,同时观察者被自动更新。 二、代码说明 1.主要有两个角色 1 阅读全文
posted @ 2017-07-14 17:16 yuweifeng 阅读(235) 评论(0) 推荐(0)
摘要:行为型设计模式之模版方法模式: 一、含义 有一个或几个模版方法(固定的逻辑),模版方法是对各个基本方法(可变可扩展的基本操作)的调度。 模版方法和基本方法实现了对一系列操作的固定部分与可变部分的分离。 二、代码说明 1.主要有两类方法: 1)基本方法 基本方法也叫做基本操作,是由子类实现的方法,并且 阅读全文
posted @ 2017-07-13 16:04 yuweifeng 阅读(253) 评论(0) 推荐(0)
摘要:行为型设计模式之状态模式: 一、含义 为每个状态创建与之对应的类(对应的每个类实现同一个接口或继承同一个抽象类,便于统一处理),并且再通过一个类切换状态 二、代码说明 1.一般包含三个角色抽象状态角色,具体状态角色,以及环境(上下文)角色(负责具体状态的切换)。 具体步骤: 1)定义环境角色,并初始 阅读全文
posted @ 2017-07-12 20:01 yuweifeng 阅读(276) 评论(0) 推荐(0)
摘要:创建型设计模式之单例模式 一、含义 在一个进程或者线程里,对于一个类只有一个实例化对象,即内存中只有一个实例化对象 二、代码说明 由于是单例模式,只有一个对象,所以该类内部都是静态常量和静态方法, 具体来说,因为只有一个对象不能创建多个对象,创建对象就没什么意义了(直接用类表示对象即一个类就是一个 阅读全文
posted @ 2017-07-11 19:43 yuweifeng 阅读(218) 评论(0) 推荐(0)
摘要:一、单一职责原则 一个类或一个函数只做一件事情 二、里氏替换原则 所有父类出现的地方,子类都可以替换(在类中调用其他类务必要使用父类或者接口) 采用里氏替换原则的目的就是增强程序的健壮性 三、依赖倒置原则 也就是面向接口编程 四、接口隔离原则 接口隔离原则是对接口进行规范约束,尽量使用多个专门的接口 阅读全文
posted @ 2017-07-10 19:26 yuweifeng 阅读(181) 评论(0) 推荐(0)
摘要:语言只是工具,设计思维才是根本。C虽然是面向过程的语言,但也是可以实现面向对象编程的,本文就是介绍如何使用C语言实现面向对象编程。 我们知道面向对象主要有三大特性:封装,继承,和多态,下面就从这个三个方面讲解: 一、封装: 个人认为封装最重要的意义是:通过类的公有函数访问私有成员,从而降低耦合。 C 阅读全文
posted @ 2017-07-07 17:24 yuweifeng 阅读(258) 评论(0) 推荐(0)