
设计模式
爱做的小乌龟
但行好事,莫问前程
展开
-
详解单例模式
定义确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。例如,创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时就要考虑使用单例模式。分类饿汉单例模式public class Singleton { private static Singleton si原创 2016-11-29 17:10:27 · 261 阅读 · 0 评论 -
我眼中的设计模式(9)
坚持坚持, 鸿洋 继续设计模式~ 模版方法模式 老套路,先看下定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。 简单看下定义,模版方法定义了一个算法的步骤,并且允许子类为一个或多个步骤提供实现。定义还算清晰,下面来个例子展示下本公司的上班情况(纯属娱乐,如有雷同,请对号入座)。简单描述一下:本公司有程序猿、测试、HR、项转载 2017-02-20 19:10:38 · 231 阅读 · 0 评论 -
我眼中的设计模式(8)
坚持坚持 鸿洋大神的原地址 请点击外观模式(Facade Pattern)定义:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。其实就是为了方便客户的使用,把一群操作,封装成一个方法。举个例子:我比较喜欢看电影,于是买了投影仪、电脑、音响、设计了房间的灯光、买了爆米花机,然后我想看电影的时候,我需要: 1、打开爆米花机 2、制作爆米花 3、将灯转载 2017-02-20 18:59:12 · 220 阅读 · 0 评论 -
我眼中的设计模式(7)
适配器模式 鸿洋大神的原版 定义:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。 发现两张图片可以很好的解释适配器模式: 这两张图很好的说明了适配器的作用哈,话说我当年买了个欧版的HTC G17 ,还配了个插头转化器,这个插头转化器就是起得适配器的作用。下来来点代码解释哈,如题目,手机充电器一般转载 2017-02-20 18:47:25 · 378 阅读 · 0 评论 -
我眼中的设计模式(6)
越来越觉得跟着大神学比那些什么大话设计模式看的我好懂多了 继续继续,权当记录了 这里写链接内容 这篇是命令模式 定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 这尼玛定义,看得人蛋疼,看不明白要淡定,我稍微简化一下:将请求封装成对象,将动作请求者和动作执行者解耦。好了,直接用例子来说明。 需求:最近智能家电很火热啊,未来尼玛估计转载 2017-02-20 18:28:39 · 207 阅读 · 0 评论 -
我眼中的设计模式(5)
继续继续。 我鸿洋大神的博客 这里写链接内容 恶汉模式 在类加载的时候就初始化public class Singleton { private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; }}懒汉模式,需要双转载 2017-02-20 15:59:21 · 246 阅读 · 0 评论 -
我眼中的设计模式(4)
继续设计模式, 参考我鸿洋大神的文章鸿洋的文章 工厂模式 这个模式的家族分为: 1。静态工厂模式 2。简单工厂模式 3。工厂方法模式 4。抽象工厂模式 一,静态工厂模式 这个最常见了,项目中的辅助类,TextUtil.isEmpty等,类+静态方法。下面开始详细介绍:略。 二、简单工厂模式 买肉夹馍的店 RoujiaMoStorepublic class RoujiaMoSt转载 2017-02-20 15:39:01 · 478 阅读 · 0 评论 -
我眼中的设计模式(2)
继续学习设计模式 观察者模式 定义:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。/** * 主题接口,所有的主题必须实现此接口 * * @author zhy * */ public interface Subject { /** * 注册一个观察着 * * @转载 2017-02-20 11:21:23 · 279 阅读 · 0 评论 -
我眼中的设计模式
参考鸿洋大神的博客学习一下设计模式 设计模式是设计一种容易了解、容易维护、具有弹性的架构的理论基础。总结一下OO的原则: 1、封装变化(把可能变化的代码封装起来) 2、多用组合,少用继承(我们使用组合的方式,为客户设置了算法) 3、针对接口编程,不针对实现(对于Role类的设计完全的针对角色,和技能的实现没有关系) 策略模式 定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算转载 2017-02-20 10:53:22 · 302 阅读 · 0 评论 -
Mvp理论浅析
Mvp模式介绍Mvp全称Model View Presenter。 Mvp能有效的降低View复杂性,避免业务逻辑被塞进View中,使得View变成一个混乱的”大泥坑”。Mvp模式会解除View与Model的耦合,同时又带来了良好的可扩展性、可测试性,保证了系统的整洁性、灵活性。可能对于简单的应用来说MVP稍显麻烦,各种各样的接口与概念,使得整个应用充斥着零散的接口,但是对于比较复杂的应用来转载 2016-12-01 23:21:35 · 1512 阅读 · 0 评论 -
策略模式
策略模式参考自策略模式(Strategy): 它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。public class CashContext { CasuSuper cs =null; public CashContext(String type){ switch(type){ case "正常消费转载 2016-11-23 22:04:11 · 644 阅读 · 0 评论 -
简单工厂模式
源起《大话设计模式》定义简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。需求使用Java来编写一个计算器控制台程序,要求输入两个数和运算符号,得到结果。首先是基类。pub转载 2016-11-23 20:56:15 · 528 阅读 · 0 评论 -
面向对象的六大原则
单一职责原则定义:就一个类而言,应该仅有一个引起它变化的原因。两个完全不一样的功能不应该放在同一个类中。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。开闭原则是java世界里最基础的设计原则,它知道我们如何建立一个稳定的、灵活的系统。开闭原则的定义是:软件中的对象(类、模块、函数等)应该队友扩展是开放的,但是对于修改是封闭的。里氏替换原则所有引用基类的地方必须能透明地使用其子类的对象。原创 2016-11-30 00:20:18 · 327 阅读 · 0 评论 -
我眼中的设计模式(9)
坚持,回去还得自己写写试试 链接 状态模式给了我眼前一亮的感觉啊,值得学习~ 先看定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。定义又开始模糊了,理一下,当对象的内部状态改变时,它的行为跟随状态的改变而改变了,看起来好像重新初始化了一个类似的。 下面使用个例子来说明状态模式的用法,现在有个自动售货机的代码需要我们来写,状态图如下: 分析一个这个状态图: a、转载 2017-02-20 19:19:23 · 234 阅读 · 0 评论