
设计模式
文章平均质量分 64
zhijie435
这个作者很懒,什么都没留下…
展开
-
单例模式最佳实践
1、饿汉式、懒汉式和登记式单例 在google上搜索eager singleton或lazy singleton,最前面的几条纪录居然都是中文网页(难道中国人特别关注设计模式?)。这是三种初始化 singleton的方式,饿汉式在类被加载时就被实例化。懒汉式类加载时,不被实例化,在第一次引用时实例化。 由于饿汉式、懒汉式都不能被继承,扩展的登记式singleton可以被继承。转载 2006-12-28 19:48:00 · 1083 阅读 · 0 评论 -
java关于23种设计模式的有趣见解
创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何转载 2007-02-04 15:24:00 · 711 阅读 · 0 评论 -
对代理模式与Java动态代理类的理解
1. 代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代转载 2007-01-23 20:49:00 · 2803 阅读 · 1 评论 -
设计模式之Composite(组合)
板桥里人 http://www.jdon.com 2002/04/27(转载请保留)模式实战书籍《Java实用系统开发指南》Composite模式定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法转载 2007-01-21 12:57:00 · 647 阅读 · 0 评论 -
设计模式之Strategy(策略)
板桥里人 http://www.jdon.com 2002/03/30模式实战书籍《Java实用系统开发指南》Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现.转载 2007-01-21 12:06:00 · 566 阅读 · 0 评论 -
你还在用if else吗?
板桥里人 http://www.jdon.com 2006/1/11(转载请保留) 面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断。如果你还在大量使用if else,当然,界面表现层除外,即使你使用Java/C#这样完全面向对象的语言,也只能说明你的思维停留在传统的面向过程语言上。传统思维习惯分析 为什么会业务逻辑层使用if else,其实使转载 2007-01-20 21:03:00 · 588 阅读 · 0 评论 -
设计模式之Command(命令)
命令模式(我的理解)前言第一章:通常的命令模式第二章:简化的命令模式第三章:其他要说的内容前言以下是我对命令模式的理解。可能和很多其他文章讲述的不太一样。经过我理解加工的。供大家参考!学艺不精,并且写的比较仓促,还请大家指教。通常的命令模式:1.1通常命令模式有一下几个角色调用者:(命令的执行者)生成有序的命令队列按顺序执行命令操作提供撤销命令操作记录已经操作的命令抽象命令:抽象的命令接口具体命令转载 2007-01-21 13:25:00 · 689 阅读 · 0 评论 -
AOP vs Decorator
板桥里人 http://www.jdon.com 2006/1/2(转载请保留) 更确切地说,我们在比较AOP的拦截器和Decorator模式,它们非常相似,一些AOP框架本身就是使用Decorator模式来实现拦截器功能的。 过滤器是架构设计模式中比较常用的一种,几乎每个灵活动态系统都需要过滤器,特别是当我们的数据以内存状态出现时,过滤器无疑成为领域层的一个核心业务逻辑,当然如果你转载 2007-01-21 13:14:00 · 638 阅读 · 0 评论 -
uml基础知识温故而知新
特殊的类图 UML 2 把结构图看成一个分类;这里并不存在称为“结构图”的图。然而,类图提供结构图类型的一个主要实例,并为我们提供一组记号元素的初始集,供所有其它结构图使用。由于类图是如此基本,本文的剩余部分将会把重点集中在类图记号集。在本文的结尾,你将对于如何画UML 2类图有所了解,而且对于理解在后面文章中将涉及的其他结构图有一个稳固的基础。基础如先前所提到的,类图的目的是显示建模系统转载 2007-01-09 21:43:00 · 1069 阅读 · 0 评论 -
设计模式之Decorator(油漆工)
装饰模式:Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的. Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.为什么使用Decorat转载 2006-12-28 20:30:00 · 617 阅读 · 0 评论 -
设计模式之Adapter(适配器)
适配器模式定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.为何使用?我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办? 使用Adapter,在这两种接口之间创建一个混合接口(混血儿).如何使用?实现Ad转载 2006-12-28 20:17:00 · 537 阅读 · 0 评论 -
Decorator模式应用实践
今天在正在作的项目中应用了Decorator模式,解决了代码扩展和维护的问题,问题需求如下:平台对外提供SP加载接口,其中支付部分设计到N个接口,这些接口的DAO实现需要分解为很多子方法来实现,如何灵活的组织和分解这些DAO接口是个很关键的问题;刚开始考虑用工厂对应不同的支付类型提供不同的实现,然后用工厂统一管理。但实际现在的状况是平台每一次的支付并不是一次支付行为对应一种支付类型,而原创 2006-12-29 20:17:00 · 663 阅读 · 0 评论 -
设计模式之Proxy(代理)
代理模式是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.为什么要使用Proxy?1.授权机制 不同级别的用户对同一对象拥有不同的访问权利,如Jive论坛系统中,就使用Proxy进行授转载 2006-12-28 20:09:00 · 626 阅读 · 0 评论 -
mysql 死锁问题解决
最近公司的数据库在操作文章表的时候经常出现Locked进程,导致程序无法正常访问,后经多方查找资料,发现数据表类型为 MyISAM (表锁定)而不是InnoDB(行锁定)。 修改表类型为InnoDB,问题解决... InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支原创 2007-04-29 16:00:00 · 3784 阅读 · 0 评论