自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

感知中国

管理、软件、无线、RFID、传感网、物联网、智能交通、移动支付、自动识别、智能家居、自动抄表、中兴通讯

  • 博客(28)
  • 收藏
  • 关注

原创 ZigBee应用系统通用设计方案

 1         前言ZigBee技术是一种短程无线通信技术,基于ZigBee技术的应用系统具有诸多先进实惠的优点,例如:低成本、低功耗等。基于ZigBee技术的应用场景比较多,例如:停车场管理、无线抄表、矿井监控等。这些应用系统有很多相似的地方,本文试图给出一种基于ZigBee技术的应用系统的通用设计方案,具体的应用系统可以在此基础上做一些修改或者实例化就可以实现了。2   

2010-01-20 11:51:00 2742

原创 设计模式学习与实践(二十七)----调停者模式(mediator)

1.1.1        描述l         正规描述调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使他们可以松散偶合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。调停者模式将多对多的相互作用转化为一对多的相互作用。调停者模式将对象的行为和协作抽象化,把对象在小尺度的行为上与其他对象的相互作用分开处

2010-01-06 16:25:00 364

原创 设计模式学习与实践(二十六)----解释器模式(interpreter)

1.1.1        描述l         正规描述给定一个语言后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式将描述怎样在有了一个简单的文法后,使用模式设计解释这些语句。在解释器模式里面提到的语言是指任何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表文法的命令类的等级结构,也就是一系列的组合规则

2010-01-06 16:23:00 458

原创 设计模式学习与实践(二十五)----访问者模式(visitor)

1.1.1        描述l         正规描述访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。访问者模式使得增加新的操作变的很容易,就是增加一个新的访问者类。访问者模式将有关的行为集中

2010-01-06 16:20:00 297

原创 设计模式学习与实践(二十四)----备忘录模式(memento)

1.1.1        描述l         正规描述备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。l         形象描述同时跟几个MM聊天时,一定要记清楚刚才跟MM说了些什么话,不然MM发现了会不高兴的哦,幸亏我有个备忘录

2010-01-06 16:18:00 299

原创 设计模式学习与实践(二十三)----责任链模式(chain of resposibility)

1.1.1        描述l         正规描述在责任链模式中,很多对象由每一个对象对其下家的引用而接 起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态的重新组织链和分配责任。处理者有两个选择:承担责任或者把责任推给下家。一个请求可以最终不被任何接收端对象所接受。l    

2010-01-06 16:15:00 425

原创 设计模式学习与实践(二十二)----迭代子模式(iterator)

1.1.1        描述l         正规描述迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。多个对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对象。迭代子模式将迭代逻辑封装到一个独立的子对象中,从而与聚集本身隔开。迭代子模式简化了聚集的界面。每一个聚集对象都可以有一个或一个以上的迭代子对象,每一个迭代子的迭代状态可以是彼此独立的。迭代算法可

2010-01-06 12:05:00 255

原创 设计模式学习与实践(二十一)----观察者模式(observer)

1.1.1        描述l         正规描述观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。l         形象描述想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作

2010-01-06 12:01:00 310

原创 设计模式学习与实践(二十)----命令模式(command)

1.1.1        描述l         正规描述命令模式把一个请求或者操作封装到一个对象中。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。命令模式允许请求的一方和发送的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否执行,何时被执行以及是怎么被执行的。系统支持命令的撤消。l         形象描述俺有

2010-01-06 11:59:00 402

原创 设计模式学习与实践(十九)----状态模式(state)

1.1.1        描述l         正规描述状态模式允许一个对象在其内部状态改变的时候改变行为。这个对象看上去象是改变了它的类一样。状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类。当系统的状态变化时,

2010-01-06 11:54:00 333

原创 设计模式学习与实践(十八)----模板模式(template)

1.1.1        描述l         正规描述模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。l         形象描述大家看看新的HPPD规范的文档模板,规定了一

2010-01-06 11:52:00 338

原创 设计模式学习与实践(十七)----策略模式(strategy)

1.1.1        描述l         正规描述策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。l         形象描述跟

2010-01-06 11:49:00 242

原创 设计模式学习与实践(十六)----不变模式(immutable)

1.1.1        描述l         正规描述一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。l         形象描述经过漫长的追求过程之后,MM终于答应嫁给我,条件是结婚后只能对她一个人好,不能变心。1.1.2        类图&示意代码public class Immutable(){private Attr

2010-01-06 11:47:00 341

原创 设计模式学习与实践(十五)----桥梁模式(bridge)

1.1.1        描述l         正规描述将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。l         形象描述早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发

2010-01-06 11:39:00 287

原创 设计模式学习与实践(十四)----门面模式(facade)

1.1.1        描述l         正规描述外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。每一个子系统只有一个门面类,而且此门面类只有一个实例,也就是说它是一个单例模式。但整个系统可以有多个门面类。l         形象描述我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,

2010-01-06 11:36:00 349

原创 设计模式学习与实践(十三)----享元模式(flyweight)

1.1.1        描述l         正规描述FLYWEIGHT在拳击比赛中指最轻量级。享元模式以共享的方式高效的支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部,不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的。外蕴状态不能影响内蕴状态,它们是相互独立的。将可以共享的状态和不可以共享的状态从常规类中区分开来,将不可以共享

2010-01-06 11:31:00 271

原创 设计模式学习与实践(十二)----代理模式(proxy)

1.1.1        描述l         正规描述代理模式给某一个对象提供一个代理对象,并由代理对象控制对源对象的引用。代理就是一个人或一个机构代表另一个人或者一个机构采取行动。某些情况下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介的作用。客户端分辨不出代理主题对象与真实主题对象。代理模式可以并不知道真正的被代理对象,而仅仅持有一个被代理对象的接口

2010-01-06 11:27:00 297

原创 设计模式学习与实践(十一)----装饰模式(decorator)

1.1.1        描述l         正规描述装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由一些基本功能的排列组合而产生的非常大量的功能。l         形象描述Mary过完轮到Sarly过生日,还是不要叫她自己挑了,不然这个月伙食费肯定玩完,拿出我去年在华山顶上

2010-01-06 11:24:00 263

原创 设计模式学习与实践(十)----合成模式(composite)

1.1.1        描述l         正规描述合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式就是一个处理对象的树结构的模式。合成模式把部分与整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。l         形象描述MM今天过生日。“我过生日,你要送我一件礼物。”“嗯,好吧,去商店,你自己挑。

2010-01-06 11:16:00 250

原创 设计模式学习与实践(九)----适配模式(adapter)

1.1.1        描述l         正规描述把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。l         形象描述在朋友聚会上碰到了一个美女Sarah,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah之间的Ada

2010-01-06 11:07:00 240

原创 设计模式学习与实践(八)----原型模式(prototype)

1.1.1        描述l         正规描述通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。l         形象描述跟MM用QQ聊天,一定要说些深情的话语了,我

2010-01-06 10:52:00 258

原创 设计模式学习与实践(七)----建造模式(builder)

1.1.1        描述l         正规描述将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。l         形象描述当前好多企业应用软件系统都是需要定制的,每一个企业应用软件系统包含有多个部分,客户并不

2010-01-06 10:47:00 241

原创 设计模式学习与实践(六)----抽象工厂模式(abstract factory)

1.1.1        描述l         正规描述同一类工厂能够生产出多种类型产品,选择哪个工厂来生产自己需要的产品由调用者自己决定。l         形象描述还是请MM吃西式快餐,MM说想吃肯德基的汉堡,就去肯德基店,MM说想吃麦当劳的薯片,就去麦当劳店。西式快餐店是肯德基与麦当劳的抽象,汉堡和薯片是两类食物的抽象,而肯德基的汉堡和麦当劳的薯片是具体的食物。1.1.

2010-01-06 10:39:00 235

原创 设计模式学习与实践(五)----工厂方法模式(factory method)

1.1.1        描述l         正规描述核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。l         形象描述请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到

2010-01-06 10:36:00 266

原创 设计模式学习与实践(四)----简单工厂模式(simple factory)

1.1.1        描述l         正规描述客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。l         形象描述追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管

2010-01-06 10:22:00 317

原创 设计模式学习与实践(三)----多例模式(multiton)

1.1        多例模式(multiton)1.1.1        描述l         正规描述多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。l         形象描述每个人在其一生中要扮演许许多多的角色,在不同的需求环境下以不同的身份出现,表现出不同的行为,例如在老婆面前是一个好丈夫,在孩子面前是一个好父亲,在

2010-01-06 10:12:00 760

原创 设计模式学习与实践(二)----单例模式(singleton)

1         创建模式1.1        单例模式(singleton)1.1.1        描述l         正规描述单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。l         形象描述对于一个拥有多个孩子的父亲,不管哪一个孩子喊“爸爸”,指的都是同一个人。

2010-01-04 16:56:00 268

原创 设计模式学习与实践(一)----设计原则

最近给所管理的团队培训设计模式,再次阅读了一下阎宏博士的《java与模式》,并且也参阅了jdon上板桥里人对设计模式的一些讲解,还有uml官网上的一些文章,形成了一个文档,贴出来分享一下,请大家指正。对于每一个模式,分为四节:描述、类图&示意代码、举例、比较,首先完成描述、类图&示意代码两节,举例和比较留待项目成员来完成,算是一种实践,随后会选择优秀的文字添加上来,今天上传第一章:设计原则。 

2010-01-04 16:42:00 355

空空如也

空空如也

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

TA关注的人

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