
设计模式
csdn_kenneth
这个作者很懒,什么都没留下…
展开
-
Java设计模式之策略模式
背景在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if…else…或者c转载 2017-11-03 14:30:46 · 310 阅读 · 0 评论 -
再谈--工厂模式
为什么要使用工厂模式?首先,工厂模式是为了解耦:把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类。其次,工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些创建对象B的代码放到工厂里统一管理。既减少了重复代码,也方便以后对B的创建...转载 2018-05-15 17:09:55 · 182 阅读 · 0 评论 -
Head First(1-1)--策略模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。一、策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的...转载 2018-03-05 17:25:04 · 235 阅读 · 0 评论 -
Head First(七)--适配器模式与外观模式
包装某些对象:让它们的接口看起来不像自己而像是别的东西。这样的设计,可以将类的接口转换成想要的接口,以便实现不同的接口。另外一个模式,将对象包装起来以简化其接口。OO适配器和真实世界的适配器扮演着同样的角色;将一个接口转换成另一个接口,以符合客户的期望。public class MenuItem { String name; String description; boolean veget...原创 2018-02-06 20:28:02 · 261 阅读 · 0 评论 -
Head First(三)--装饰者模式
本章可以称为“给爱用继承的人一个全新的设计眼界”。本章会学到如何使用对象组合的方式,做到在运行时装饰类。一旦熟悉了装饰的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。设计原则:类应该对扩展开放,对修改关闭。我们先看看对象增强的手段有哪些:继承--被增强的对象是固定的,增强的内容也是固定的装饰者模式--被增强的对象是可以切换的,增强的内容原创 2018-01-25 10:54:42 · 230 阅读 · 0 评论 -
Head First(六)--命令模式
待续原创 2018-02-02 15:26:30 · 231 阅读 · 0 评论 -
Head First(五)--单例模式
单例模式可以确保只有一个实例会被创建。单例模式给了我们一个全局的访问点,和全局变量一样方便,又没有全局变量的缺点。全局变量的缺点:如果将对象赋值给一个全局变量,那么你必须在程序一开始就创建好对象。万一这个对象非常耗费资源,而程序在这次的执行过程中又一直没用到它,不就形成浪费了吗?单例模式,我们可以在需要时才创建对象。public class Singleton { private static...原创 2018-02-02 09:34:18 · 205 阅读 · 0 评论 -
Head First(四)--工厂模式
除了使用new操作符之外,还有更多制造对象的方法。你将了解到实例化这个活动不应该总是公开地进行,也会认识到初始化经常造成“耦合”问题。一 概述:属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式。 直接用new可以完成的不需要用工厂模式个人理解,重点就是这个复杂(构造函数有很多参数)和是转载 2018-01-26 14:16:07 · 218 阅读 · 0 评论 -
Head First(二)--观察者(Observer)模式
有一个模式可以帮你的对象知悉现况,不会错过该对象感兴趣的事。对象甚至在运行时可决定是否要继续被通知。观察者模式是JDK中使用最多的模式之一,非常有用。出版社+订阅者=观察者模式如果你了解报纸的订阅是怎么回事,其实就知道观察者模式是怎么回事,只是名称不太一样:出版者改称为“主题(Subject)”,订阅者改称为“观察者(Observer)”。观察者模式定义了对象之间的一对多依赖,这样一来原创 2018-01-24 12:45:57 · 247 阅读 · 0 评论 -
Head First(一)--策略模式-设计模式入门
本章会看看设计模式的用途和优点,再看一些关键的OO设计原则,通过实例来了解模式是如何运作的。你的大脑总是渴求一些新奇的东西,它一直在搜寻、审视、期待着不寻常的事情发生,大脑的构造就是如此。正是这一点才让我们不至于固步自封,能跟着时代前进。你的大脑怎么知道到底哪些东西重要呢?打个比方,加入你某一天外出旅行,突然一只大老虎跳到你面前,你的神经元会“点火”,情绪爆发,释放出一些化学物质。这样,大脑就知道...原创 2018-01-23 09:43:26 · 345 阅读 · 0 评论 -
责任链模式(handler)
https://blog.youkuaiyun.com/liaodehong/article/details/51408076转载 2018-09-06 14:19:14 · 3705 阅读 · 0 评论