Java设计模式
文章平均质量分 84
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Java设计模式透析之 —— 策略(Strategy)
今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会。要帮什么忙呢?你很好奇。他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的数据,现在需要完成一个选择性查询用户信息的功能。他说会传递给你一个包含许多用户名的数组,你需要根据这些用户名把他们相应的数据都给查出来。这个功能很简单的嘛,你爽快地答应了。由于你们项目使用的是MySQL数据库,转载 2013-08-05 08:29:33 · 1666 阅读 · 0 评论 -
六大设计原则浅析
一、设计在软件开发中的重要性重要性在上大学的时候我们总是不理解为什么要讲这么理论性的东西,当时就一个感觉就是没什么用,我们更想去学习一些可以看到结果的东西,当你毕业之后就会发现基础的知识是多么重要,而这些知识都有一个共性就是可以脱离具体的技术或者问题而存在,是一种可以长期指导我们学习和进步的重要思想,设计原则和模式就是软件开发中的这种思想。设计原则我们先来思考一个问题: 怎么样的软件才算一个好的原创 2016-04-14 22:08:59 · 9131 阅读 · 2 评论 -
设计模式——简单工厂
第一个小例子:public class Apple { /* * 采集 */ public void get(){ System.out.println("采集苹果"); }}public class Banana { /* * 采集 */ public void get(){ System.out.println("采集香蕉"); }}pub原创 2013-08-10 14:53:57 · 2889 阅读 · 0 评论 -
设计模式——单例模式
单例模式一、什么是单例模式:单例模式是一种对象创建形模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。二、为什么要使用单例模式:在应用开发中,我们常常有以下 需求:1、在多个线程之间,比如servlet环境,共享原创 2013-08-11 14:55:20 · 2380 阅读 · 0 评论 -
设计模式——简单工厂模式—工厂方法模式—抽象工厂模式(比较)
一、简单工厂模式: 简单工厂模式是对对象创建的简单封装,可以通过一个工厂类来实现对象的实例化,但是这种方式如果要增加一个新的产品就要修改工厂方法,这样就产生了工厂方法模式。 如下图所示:具体看http://blog.csdn.net/dawanganban/article/details/9875873二、工厂方法模式工厂方法模式能够对产品方便的扩展,只原创 2013-08-10 18:25:11 · 3670 阅读 · 0 评论 -
设计模式——抽象工厂模式
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。(1)创建一个Fruit接口package com.meritit;public interface Fruit { /* * 采集 */ public void get();}原创 2013-08-10 17:33:35 · 2619 阅读 · 0 评论 -
设计模式——工厂方法模式
工厂方法模式同样属于类的创建模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象的工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。这一节内容需要有:《设计模式——简单工厂 》的代码为基础http:原创 2013-08-10 15:51:15 · 2622 阅读 · 5 评论 -
设计模式——原形模式
Prototype模式是一种对象创建模式,它采用取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。先看以下代码:package com.meritit;public class Person { private String name; private int age; private String sex; public Str原创 2013-08-11 16:45:35 · 2197 阅读 · 0 评论 -
设计模式——建造者模式
什么是建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。首先我们建立一个House对象package com.meritit;/** * 房子 * @author 李小强原创 2013-08-15 22:14:04 · 2776 阅读 · 2 评论 -
设计模式——装饰模式
装饰( Decorator)模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。假如现在要一个会跑的车,我们会这样做:package com.meritit;public interface Car { public void show(); public void run();}package com.meritit;publi原创 2013-08-16 22:59:10 · 2766 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面来写一个简单的观察者模式:S原创 2014-06-05 15:28:37 · 2914 阅读 · 1 评论 -
设计模式——代理模式
代理模式的作用是控制和管理访问先看一段代码:package com.test;/** * 抽象角色 * @author Administrator * */abstract public class Subject { abstract public void request();}package com.test;/** * 真实角色 * @author 阳光小强 *原创 2014-07-01 21:51:09 · 2438 阅读 · 1 评论 -
设计模式——工厂模式在开发中的应用(简单计算器)
下面以一个简单的计算器为例子来说明,怎么用工厂模式。如果你没有用任何设计模式,你可能会这样写:package com.meritit;import java.util.Scanner;public class MainClass { public static void main(String[] args) { double result = 0; //1.接收控制台输原创 2013-08-10 22:16:11 · 6434 阅读 · 0 评论 -
Java设计模式透析之 —— 组合(Composite)
听说你们公司最近新推出了一款电子书阅读应用,市场反应很不错,应用里还有图书商城,用户可以在其中随意选购自己喜欢的书籍。你们公司也是对此项目高度重视,加大了投入力度,决定给此应用再增加点功能。好吧,你也知道你是逃不过此劫了,没过多久你的leader就找到了你。他告诉你目前的应用对每本书的浏览量和销售量做了统计,但现在想增加对每个书籍分类的浏览量和销售量以及所有书籍总的浏览量和销售量做统计的功转载 2013-08-05 08:31:20 · 2027 阅读 · 0 评论 -
Java设计模式透析之 —— 模板方法(Template Method)
今天你还是像往常一样来上班,一如既往地开始了你的编程工作。项目经理告诉你,今天想在服务器端增加一个新功能,希望写一个方法,能对Book对象进行处理,将Book对象的所有字段以XML格式进行包装,这样以后可以方便与客户端进行交互。并且在包装开始前和结束后要打印日志,这样方便调试和问题定位。没问题!你觉得这个功能简直是小菜一碟,非常自信地开始写起代码。Book对象代码如下:转载 2013-08-05 08:16:42 · 1878 阅读 · 0 评论 -
Java设计模式透析之 —— 适配器(Adapter)
今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务!最近ChinaJoy马上就要开始了,老板要求提供一种直观的方式,可以查看到我们新上线的游戏中每个服的在线人数。”你看了看日期,不是吧!这哪里是马上要开始了,分明是已经开始了!这怎么可能来得及呢?“没关系的。”你的leader安慰你道:“功能其实很简单的,接口都已经提供好了,你只需要调用一下就行了。”转载 2013-08-04 23:04:59 · 2104 阅读 · 0 评论 -
Java设计模式透析之 —— 单例(Singleton)
写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你分析数据。但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至像findbugs等代码检查工具还会认为使用System.out.println()是一个bug。为什么作为Java新手神器的System.out.println(),到了真正项目开发当中会被唾弃转载 2013-08-05 08:23:59 · 1735 阅读 · 0 评论 -
设计模式梳理(一)
设计模式梳理(一)总体来说设计模式分为三大类: @案例源码地址:https://gitlab.com/lxqxsyu/DisgnPattern创建型模式简单工厂模式工厂类是整个模式的关键。它包含必要的判断逻辑,能够根据外界给定的信息知道创建那个类的实例,外部无需了解该对象是如何被创建和组织的。有利于软件体系结构化。由于工厂类集中了所有实例的创建逻辑,简单工厂模式的缺点也体现在工厂类上。@简单工厂模原创 2017-11-02 21:18:21 · 1204 阅读 · 0 评论