随笔分类 -  【设计模式】

设计模式不仅要学,而且要多学,不仅现在学,以后还得学。
摘要:一、概述:有一些对象我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。事实上这些对象只需要一个实例,如果制造出多个实例就会导致很多问题发生。(利用静态类变量、静态方法和适当的访问修饰符的确也可以做到只存在一个实例。)苏格拉底诱导式回答:(参考《Head First 设计模式》)如何创建一个对象?new MyObject()万一另外一个对象想创Myobject会怎样?可以再次new MyObject吗?是的,当然可以。所以一旦有一个类,我们是否都能多次的实例化它?如果是公开的类 就可以如 阅读全文
posted @ 2014-01-10 14:18 ymonke 阅读(780) 评论(0) 推荐(1) 编辑
摘要:一、概述 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其它的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这... 阅读全文
posted @ 2013-12-23 19:04 ymonke 阅读(789) 评论(0) 推荐(0) 编辑
摘要:一、概述 策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也称为政策模式(Policy)。(Definea family of algorithms,encapsulate each one, andmake them interchangeable. Strategy lets the algorithmvary independently from clients that use it.)(策略模式把对象本身和运算规则区分开来,其功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想。) 策略模... 阅读全文
posted @ 2013-12-17 16:28 ymonke 阅读(794) 评论(0) 推荐(0) 编辑
摘要:最近项目不是太紧,所以花点时间看书。选择了一本《head first设计模式》我可是一个好孩子,好吧,其实真是原因是,写了一段时间代码,虽然实现的功能,却发现对自己的代码很不满意,但是很无助,不知道如何修改。所以还需再看看书,补一下理论。首先先介绍一下设计模式:不管软件当初设计的有多好,一段时间后,总需要成长和改变。所以我们应该找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。这是第一条设计原则。这其实就是封装。要针对接口编程而不是针对实现编程。这里的接口有多个含义也就是ios中interface的概念。其实就是实现多态,程序可以针对超类型编程,执行时会根据实际状 阅读全文
posted @ 2013-12-04 09:48 ymonke 阅读(169) 评论(0) 推荐(0) 编辑