自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

图像处理的专栏

运用常用函数实现对图像处理

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

转载 组合模式

一、引言在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象和复合对象在功能上区别,导致在操作过程中必须区分简单对象和复合对象,这样就会导致客户调用带来不必要的麻烦,然而作为客户,它们希望能够始终一致地对待简单对象和复合对象。然而组合模式就是解决这样的问题。下面让

2015-05-26 17:23:09 628

原创 迭代器模式

引言在面向对象编程中,经常遇到集合对象,在对其操作时重点工作有:1、集合内部数据的存储,2、集合内部数据的查询。在面向对象设计原则中有一条是单一职责原则,所以要分离这些职责,用不同的类承担不同的责任。迭代器就是针对集合产生的,用来遍历集合元素的职责。迭代器模式 定义 提供一种顺序访问一个聚合对象中各个元素,而又不暴漏该对象集合内部数据结构的方法。 架构图 如上图所示,在迭代器模式中,迭代器

2015-05-26 16:11:01 628

原创 模板模式

引言在C++有模板函数,在生活中有“简历模板”,“论文模板”等等,在程序设计中,也会为一个产品的生成制定一系列的算法流程,这就是模板模式的来历。 定义 在一个抽象类中定义一个操作中的算法骨架(简历模板),而将一些步骤延迟到子类中去实现(自己简历内容)。模板方法使得子类可以不改变一个算法的结构前提下,重新定义算法的某些特定步骤,模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代码。 架构图

2015-05-25 17:20:36 639

原创 适配器模式

- 一、引言在软件系统中,为针对应用环境的变化,将“一些现存的对象”放在新的环境中应用,能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是Adapter 模式。 - 二、适配器的介绍 2.1定义 配器模式——把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式有类的适配器模式和对象的适配器模式两种形式 2.2程

2015-05-25 14:32:35 508

原创 命令模式

- 一、引言在软件系统中,往往“行为请求者”和“行为实现者”通常呈现一种紧耦合。比如对行为进行“记录、撤销”等处理,命令模式就是提供一种封装将两者进行解耦。 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。[GOF 《设计模式》] 结构图 从命令模式的结构图可以看出,它涉及到五个角色,它们分别是: 客户角色:发出一

2015-05-25 11:32:08 473

原创 抽象工厂模式

一、引言在软件系统中在动态创建对象基础上,往往由于需求的变化,会存在更多系列对象的创建工作。为此,绕过常规的对象创建(new),提供封装机制来避免客户和这种多系列具体对象的创建工作,紧密合作。这就是抽象工厂模式。 比如说:工厂模式中每个具体类只完成一个实例的创建,但是现实中一个工厂生产很多产品,而不是单个产品,为了生产一系列产品,便产生了抽象工厂。 抽象工厂是提供一个创建一系列相关或相互依赖对象

2015-05-24 19:22:04 568

原创 工厂模式

一、引言在程序开发中经常会有对象的创建,当需要创建一个对象时,通过new进行创建。当程序功能进行升级时,添加新的对象时,则需要修改代码进行再一次new对象,这样导致代码维护量特别大。这节通过讲解简单工厂、抽象工厂模式,来解决这个问题。 工厂模式是一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变。 工厂模式是定义一个用户创建对象的接口,让子类

2015-05-22 18:28:15 532

原创 装饰者模式

1. 引言在软件系统中如果通过继承来扩展对象的功能,但是由于继承是静态特质,使得这种扩展缺乏灵活性。在软件开发时,需要开发一个组件,其组件由其他零件构成,比如装修,美化手机等等。如果利用继承的话,就可能生成很多子类,比如西式装修子类、杭州风格装修子类等等,为了解决这个问题,提供了装饰者模式动态给对象添加额外的职责。 定义:以对客户透明的方式对对象动态添加额外的责任,装饰者模式相比生成子类可以更灵活

2015-05-22 16:46:23 757 1

原创 NET设计模式-单例模式(Singleton Pattern)

1. 概述Singleton Pattren 要求一个类有且仅有一个实例,并且提供一个全局变量。这个创建的对象是独一无二的,在这个单独对象实例中,集中所创建类的所有属性和方法。 在创建一个单例,何时需要,这是程序设计的关键。从定义上可知这个类供全局调用,产品(程序)都可调用,所有是个全局静态变量,一般是不允许有派生类的。比如,火车的票数及票种,必须全局变量,这个往往是为了防止多线程调用时,导致问题

2015-05-20 21:36:08 835

原创 观察者模式

一 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。情景设计设计一个应用,有三种布告板,分别显示目前的状况、气象统计及简单的预报。当WeatherOb

2015-05-14 21:13:02 607

转载 UML的9种图例解析

UML的9中图例模式

2015-05-14 11:37:00 723

原创 设计模式之旅-策略者模式(组合模式)

序言情景设计设计一款模拟鸭子的游戏,游戏中出现各种鸭子,一边游泳戏水,一边呱呱叫。所用的鸭子会呱呱叫,也会游泳,所以基类负责实现。但是每一款鸭子外观不一样,所以这是抽象行为。由子类实现。 前期设计及思路 根据情景的设计,首先我们想到这是一些列的鸭子,便会想到利用继承的手段,进行解决。其UML图型为: 后续设计:需要让有的鸭子飞,有的鸭子不能飞。 后续设计 问题: 1、在调用中是通过抽象类

2015-05-14 11:32:52 534

转载 Mark博客使用指导

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-05-14 10:53:23 413

基于视觉的运动目标跟踪算法及其在移动机器人中的应用

对于研究模式识别的同学,这篇文档还是很有好处的

2012-05-14

空空如也

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

TA关注的人

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