设计模式
擅长写bug
专业写bug
展开
-
JAVA设计模式初探之装饰者模式
这个模式花费了挺长时间,开始有点难理解,其实就是 定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的转载 2017-03-10 15:09:55 · 195 阅读 · 0 评论 -
JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部转载 2017-03-28 20:59:57 · 225 阅读 · 0 评论 -
JAVA设计模式之抽象工厂模式
本文继续介绍23种设计模式系列之抽象工厂模式。 前面已经介绍过简单工厂模式和工厂方法模式,这里继续介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例。 例子背景: 随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机,用来组装汽车。这时候工厂有两个系列的产品:空调和发动机。宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B转载 2017-03-28 21:44:52 · 291 阅读 · 0 评论 -
java设计模式之建造者模式
本文继续介绍23种设计模式系列之建造者模式。 定义: 建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 实用范围 1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2、当构造过程必须允许被构造的对象有不同表示时。 角色 在这样的设计模式中,有以下几个角色转载 2017-03-29 11:00:28 · 249 阅读 · 0 评论 -
JAVA设计模式之原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo转载 2017-03-29 11:06:50 · 259 阅读 · 0 评论 -
JAVA设计模式之代理模式
【代理模式应用场景举例】 比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提供卖车的服务”给有需求的人士。从面向对象的方面考虑,“销售汽车的代理”也是一个对象,那么这个对象也具有一定的状态,在软件项目中这个对象也具有管理财务进销存的基本功能,那么在设计时就要以面向OO转载 2017-03-30 11:56:45 · 308 阅读 · 0 评论 -
装饰模式
装饰模式(Decorator Pattern)是一种比较常见的模式。 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰着模式相比于代理模式生成子类更为灵活。 装饰模式有以下4个角色: 1.抽象构件角色:该角色用于规范需要装饰的对象(原始对象) 2.具体构件角色:该角色实现抽象构件接口,定义一个需要装饰的原始类。 3.装饰角色:该角色持有一个构件对象的实例,并定义一个与抽象构件接口原创 2017-04-19 14:29:19 · 323 阅读 · 0 评论