心雨无痕

OnlyProgrammer

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年6月27日

摘要: 单例模式的意图是为了保持有且只有一个实体,并且提供一个全局的访问点。 为什么要使用单例模式 如果某个类在整个程序运行过程中只能有一个实例,比如创建多个实例会造成不必要的系统开销,或者会造成程序状态的不易管理和维护等等。 单例模式概述 单例模式既然定义类只能有一个实例,那么就必须将类的构造函数私有化,通过使用类方法的方法获取该类的唯一实例。下面是伪代码(这里不讨论线程安全问题):class ... 阅读全文
posted @ 2012-06-27 09:31 心雨无痕 阅读(180) 评论(0) 推荐(0) 编辑

摘要: 原型模式用于复制对象,抽象产品类定义复制自身的方法,实体产品类继承抽象产品类并实际实现复制方法,在客户使用时直接调用该复制方法即可。 为什么要使用这个模式 当有产品经常需要进行复制,而且该产品的复制方法比较复杂而且很可能非常多变,更加可能的是客户需要使用许多种该类产品,这种情况下就非常适合用原型模式。 原型模式概述 原型模式核心包括2个角色: 1. 抽象产品类IC(接口IA),该类定义了复... 阅读全文
posted @ 2012-06-27 09:22 心雨无痕 阅读(171) 评论(0) 推荐(0) 编辑

2012年6月14日

摘要: 工厂方法模式用来定义一个创建产品的接口(抽象类),具体的产品创建工作由子类来实现,它是一种类的创建模式。模式介绍工厂方法模式分为4个角色:1. 抽象工厂Creator,该角色定义了工厂类所必须具备的所有接口,在本模式中通常只有一个Creator角色类2. 具体工厂ConcreteCreator,实际的工厂类,实现Creator中定义的接口并实际生成产品,应用将直接调用该角色以生成产品3. 抽象产品角色Product,该角色定义了产品类所必须具备的接口4. 具体产品角色ConcreteProduct,该角色实现了Product中定义的接口,它是应用所需要的真正的产品上述角色中,一般具体工厂角色和 阅读全文
posted @ 2012-06-14 22:56 心雨无痕 阅读(212) 评论(0) 推荐(0) 编辑

2012年6月3日

摘要: 简单工厂模式也可以成为静态工厂模式,它的目的是根据提供给它的数据,返回可能的许多个具有相同基类的类中的某个类的实例,方法签名返回的是基类的实例。为什么要使用这个模式 当需要使用统一的接口来根据不同的输入返回相同基类的不同类的实例时,使用静态工厂。静态工厂模式是抽象工厂的一个简单应用,抽象工厂模式定义抽象类或接口来抽象接口方法,而简单工厂则使用一个方法来实现根据参数返回相应应用类。 通俗的来说,简单工厂模式就是一堆if语句的整合物,比如有类B、C、D都继承A,经常需要根据某个参数来获取BCD的实例,如果不用模式,那么就是如下代码 A a; if(...) a = new B(); else if 阅读全文
posted @ 2012-06-03 22:18 心雨无痕 阅读(204) 评论(0) 推荐(0) 编辑

2012年5月20日

摘要: 建造者模式可以将一个产品的内部实现和它的构造过程分割开来,从而可以将复杂对象的构建过程外部简单化的目的。 为什么要用这个模式 有些产品结构比较复杂,构成产品的零件有许多个,这许多个零件又没有什么关系,并且这些零件的组合是有必须的顺序的,比如说组装汽车(我不懂如何组装汽车哈,瞎说举例而已):要先制作好底座,然后在底座上安装发动机,安装电路油路,安装座椅,然后安装车皮,安装轮子,最后安装车门。... 阅读全文
posted @ 2012-05-20 21:24 心雨无痕 阅读(278) 评论(0) 推荐(0) 编辑

2012年5月7日

摘要: 这里做个笔记吧。 Object使用字符串作为key,即使你使用了其他类型的数据作为key,Object也会将使用该key的toString方法得到其字符串表示作为key来存储,也就是说Object使用toString方法进行键的比较。 var a:Object = new Object(); var ka:Object = new Object(); a[ka] = 'i am ka'; ... 阅读全文
posted @ 2012-05-07 12:14 心雨无痕 阅读(1130) 评论(0) 推荐(0) 编辑

2012年4月25日

摘要: 1. 官网下载试用版, 选择试用安装。 2. 安装完成后, 修改以下3个文件 1. 进入{安装目录}/eclipse/plugins/com.adobe.flexbuilder.project_4.5.1.313231/META-INF,修改MANIFEST.MF文件 Bundle-Version: xxxxxxxxx 改为 Bundle-Version: 0.0.0 2. 进入{安装目录... 阅读全文
posted @ 2012-04-25 11:14 心雨无痕 阅读(1484) 评论(0) 推荐(0) 编辑

2012年4月24日

摘要: 抽象工厂的概念实现事实上就是接口和抽象类,用过Java、C++的人都了解这个概念,这里不多说了。 为什么要用这个模式 可以将具体的产品抽象化,使得具体的业务逻辑和产品概念分离。比如说写一个水果应用模块吧(有多种水果,比如[苹果]、[香蕉]、[桔子]),所有的水果都有2个方法,A()和B(),[苹果]、[香蕉]、[桔子]的这2个方法实现是不同的,甚至有可能是不同的程序员写的,对外部应用来讲,只需要传入一个水果对象并调用A和B两个方法,并不关心我传入的对象是什么水果,这种情况下,使用抽象工厂模式就可以对代码进行解耦,即定义一个接口或者抽象类[水果],[苹果]、[香蕉]、[桔子]类都实现这个接口或. 阅读全文
posted @ 2012-04-24 23:11 心雨无痕 阅读(219) 评论(0) 推荐(0) 编辑

摘要: 写了几年的程序了,对设计模式的了解一直不是深刻,没写下来的东西总是记忆不清楚,所以,总算是打算静下心来把我对设计模式的理解写下来,如果有不对的地方,还请看到的同志们多多指教。创建型模式1. 抽象工厂(Abstract Factory) -- 接口或抽象类2. 建造者(Builder) -- 生产有复杂结构或多个组成部件的产品 3. 简单工厂(Simple Factory) -- 系列产品统一出口4. 工厂方法(Factory Method) -- 生产系列产品5. 原型(Prototype) -- 克隆/复制6. 单例(Singleton) -- 全局唯一实例构造型模式1. 适配器(Adapt 阅读全文
posted @ 2012-04-24 23:04 心雨无痕 阅读(247) 评论(0) 推荐(0) 编辑

2012年4月16日

摘要: 现如今开源软件非常流行, 一堆的开源协议的名次也是听了无数次, 但一直没有去研究到底有哪些开源协议, 他们的详细内容都不是很了解, 在软件开发中使用开源的软件难免有一些顾虑,尽管网上类似的文章很多,但是看过之后印象还是比较浅,本着好记性不如烂笔头的想法,今天有空就放狗搜索研究下, 这里做个笔记。 本文主要讨论的协议有:GPL,LGPL,Mozilla License,Apache License... 阅读全文
posted @ 2012-04-16 15:47 心雨无痕 阅读(352) 评论(0) 推荐(0) 编辑