自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 ARM汇编指令集2

常用ARM指令1:数据处理指令数据传输指令:mov     mov r1,r2    mov r1,#0xff01mvn    mvn和mov用法是一样的,区别是mov是原封不动的传递,而mvn是按位取反后传递    如r1=0xff,然后mov r0,r1后,r0=0xff,    但 mvn r0,r1时,r0=0xffffff00.算术运算

2016-08-26 17:06:41 604

原创 ARM汇编指令集1(16_08_26_02)

指令与伪指令(汇编)指令是CPU机器指令的助记符经过编译后会得到一串10组成的机器码,可以由CPU读取执行。(101010太难记了,用mov,bl这些助记符,人比较容易看懂);(汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码。两种不同风格的ARM指令1)ARM官方的ARM汇编风格:

2016-08-26 13:51:56 571

原创 ARM的异常处理方式简单介绍(16_08_26_01)

异步与同步的区别:异步:响应模式,靠中断(一种特殊的异常)来实现同步:一般会用到同步时钟。A会一直等待着B。什么是异常1)正常工作之外的流程都叫异常;2)异常会打断正在执行的工作,并且一般我们希望异常处理完成后继续回来执行原来的工作(也叫现场保护)。3)中断是异常的一种。异常向量表1)所有的CPU都有异常向量表,这是CPU设计时就设定好的,是硬件

2016-08-26 11:22:39 477

原创 Strategy模式(策略模式 行为型)

与Template模式相类似,策略模式要解决的也是算法框架(接口)与具体算法实现的解耦。Template使用的是继承的方式,而Strategy模式使用的是组合(委托)的方式。以下为Strategy模式的UML类图Strategy基类:声明了接口,其接口具体实现就交由其子类去实现。Context类Context类: Context需要用到那个Strategy类的子类,就用它的

2016-08-24 12:31:35 457

原创 Template模式(模板模式 行为型)

面向对象编码的过程中,经常会遇到一种情况:对一个业务逻辑(算法实现),在不同的对象中有不同的细节实现,但是算法的框架是相同的。Template模式提供的就是这么一个实现框架:采用继承的方式,将算法框架放在了抽象基类中,并定义好细节接口,子类去实现细节接口。Template模式实际上利用的是面向对象的多态特性,以及算法与具体实现的解耦。以下为Template模式的UML类图。也即

2016-08-24 10:49:52 224

原创 Facade模式(外观模式 结构型)

问题抛出:对于C++程序来说,其编译过程可分为4个步骤:1)预编译;2)编译成汇编;3)汇编编译成机器码;4)链接成文件。如果每一次编译程序,都要手动去按照这样的流程去编译,那操作将会很麻烦。什么是Facade模式:用过IDE开发环境的程序员都知道,它一般都会提供一个编译按钮,按了之后就会进行上面四个步骤,我们只需静待结果就行了。这个编译按钮可以理解为Facade模式,它提

2016-08-24 09:50:21 261

原创 Singleton模式(单例模式 创建型)

一般的,我们看到的,用c++实现单例模式主要有两种: 饿汉模式 和 懒汉模式。以下为二种模式应用。饿汉模式:指单例实例在程序运行时被立刻执行初始化:这种模式很好,但类的静态成员m_data成员初始化时间并不确定,只有当编译器执行到 SignletonSingleton::m_data 时,getInstance()才获得资源。另一种实现方法,可以很好地解决这一冲突。

2016-08-24 08:43:58 254

原创 Proxy模式(代理模式 结构型)

意图:为其他对象提供一种代理以控制对这个对象的访问。原理:当我们要访问一个对象时,可以通过一个中间层间接地去访问,这个中间层就叫做Proxy代理。例如一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。与适配器模式、装饰模式的区别:1)代理模式和适配器模式的区别:适配

2016-08-23 17:58:57 252

原创 Composite模式(组合模式 结构型)

适用场景1)在具有整体和部分的层次结构中,希望通过一种方式忽略整体与部分的差异,客户端可以一致地对待它们。2)在一个使用面向对象语言开发的系统中需要处理一个树形结构。3)在一个系统中能够分离出叶子对象和容器对象,而且它们的类型不固定,需要增加一些新的类型。主要优点:1)可以清楚地定义分层次的复杂对象,让客户端忽略了层次的差异,方便对整个层次结构进行控制。2)在组合模式中

2016-08-22 17:16:52 332

原创 Decorator模式(装饰模式 结构型)

当要为一个已存在的类,增添新的功能时,一般的会有两种做法,改变或者继承。改变的意思是直接在该类上新增功能:好处是够直接,坏处是会对已有的架构产生较大影响,破坏开源闭合原则。而继承是比较明朗的做法,但坏处是类的继承深度会加深,且增加职责是静态的,不够灵活。有一种方法较Decorator模式,它提供一种方法,即不使用继承的方法,而通过新增 添职责的类,起到为该类动态增加功能的作用,其结构如下:

2016-08-22 12:45:09 238

原创 Adapter模式(适配器模式 结构型)

1.意图:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作得那些类可以一起工作。2.别名:包装器Wrapper。3.动机:有些工具类不能被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。举个栗子。(发觉这个栗子好难举啊,还是用下别人的好了)有一个绘图编辑器,这个编辑器允许用户绘制和排列基本图元(线、多边形和正文等)

2016-08-19 16:35:28 384

原创 Bridge模式(桥接模式 结构型)

Bridge是设计模式中比较复杂和难以理解的模式之一,即使用组合的方式将抽象和实现彻底地解耦,这样的好处是抽象和实现可以分别独立地变化,系统的耦合性也得到了很好的降低。这句话太精简,以至于我很难知道它在说什么……我觉得这么说更恰当,bridge使用组合的方式,使(抽象A类)和(A类的组成部分抽象B类)的实例化彻底地解耦。这样说我觉得是最贴切的。举个栗子。我想要创作一个笔类,那么做为

2016-08-18 18:14:48 855

原创 Builder模式(建造者模式 创建型)

GoF说,在两种情况下适合使用Builder模式:1)当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2)当构造过程必须允许被构造的对象有不同的表示时。硬咬着文字去解读,是很难理解的,要容易理解可以用类比、图例的手法,加快理解这个模式。举个栗子:Director是设计工程师,他设计了房子要先建地基、二建主体、三建砖墙。然后交给工人去建造。工人A去建造

2016-08-17 15:06:43 279

原创 Abstract Factory模式(抽象工厂模式 创建型)

抽象工厂对应产品族的概念,例如每个汽车公司可能都要生产轿车、货车、SUV等汽车,那么每个公司都有生产轿车、货车、SUV等车的方法。抽象工厂是要创建一组相关或者相互依赖的对象。特点:应对产品族概念而生,增加新的产品线容易,但是无法增加新的产品。AbstarctFactory模式关键就是将这一组对象的创建封装到一个用于创建对象的类中,维护这样一个创建类总比维护n多相关对象的创建

2016-08-16 15:09:30 315

原创 Factory模式(工厂模式 创建型)

Factory模式,可分为2种,一种为简单Factory模式,另一种为Factory方法模式,这2种都是使用广泛的Factory模式,侧重点不同,优缺点也不同。一 简单Factory模式意图:定义一个工厂类,让调用客户端决定工厂生产哪一种产品。何时使用:屏蔽产品生产细节,根据用户输入条件来抉择。这种模式中,工厂类扮演上帝的角色,用户告诉工厂类需要什么样的产品,工厂类就去创造出来

2016-08-16 08:55:27 506

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除