Dodd

dont be shy, just try!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 友情链接

  • links

  • 公益404

  • 搜索

java设计模式(八)代理模式(Proxy)

发表于 2017-09-12 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

代理模式就是多一个代理类出来,替原对象进行一些操作。给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模。

关系图:

阅读全文 »

java设计模式(七)装饰模式(Decorator)

发表于 2017-09-12 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。

关系图:

Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能。

阅读全文 »

java设计模式(六)适配器模式(Adapter)

发表于 2017-09-11 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。

主要分为三类:

  • 类的适配器模式
  • 对象的适配器模式
  • 接口的适配器模式
阅读全文 »

java设计模式(五)原型模式(Prototype)

发表于 2017-09-10 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。

原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。通过对象的复制,进行讲解。

在Java中,复制对象是通过clone()实现的,先创建一个原型类:

1
2
3
4
5
6
public class Prototype implements Cloneable {  
public Object clone() throws CloneNotSupportedException {
Prototype proto = (Prototype) super.clone();
return proto;
}
}
阅读全文 »

java设计模式(四)建造者模式(Builder)

发表于 2017-09-09 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。

还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。

建造者类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Builder {   
private List<Sender> list = new ArrayList<Sender>();
public void produceMailSender(int count){
for(int i=0; i<count; i++){
list.add(new MailSender());
}
}

public void produceSmsSender(int count){
for(int i=0; i<count; i++){
list.add(new SmsSender());
}
}
}
阅读全文 »

java设计模式(三)单例模式(Singleton)

发表于 2017-09-09 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在,而且自行实例化并向整个系统提供这个实例。这样的模式有几个好处:

  1. 某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
  2. 省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
  3. 有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。

在单例模式的实现过程中,需要注意如下三点:

  1. 单例类的构造函数为私有
  2. 提供一个自身的静态私有成员变量
  3. 提供一个公有的静态工厂方法
阅读全文 »

java设计模式(二)抽象工厂模式(Abstract Factory)

发表于 2017-09-08 | 分类于 JAVA , 设计模式 | | 阅读次数:

介绍

工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则

抽象工厂模式 创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码.提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类

阅读全文 »

java设计模式(一)工厂方法模式(Factory Model)

发表于 2017-09-07 | 分类于 JAVA , 设计模式 | | 阅读次数:

工厂方法模式

分类

工厂方法模式分为四种:

  • 简单工厂模式
  • 多个工厂方法模式
  • 静态工厂方法模式
  • 工厂方法模式

其中前三种都属于简单工厂模式,又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。

阅读全文 »

设计模式

发表于 2017-09-03 | 分类于 JAVA , 设计模式 | | 阅读次数:

设计模式

原文:Java之美[从菜鸟到高手演变]之设计模式

参考:Java开发中的23种设计模式详解

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式间关系:

阅读全文 »

SQL查询

发表于 2017-09-01 | 分类于 数据库 | | 阅读次数:

SQL查询

针对常用的SQL查询总结一下

一、检索

  1. distinct过滤相同的列

    1
    SQL> select distinct column_name from products;--唯一性,distinct作用于所有列
阅读全文 »
1…141516…18
dodd

dodd

不吃狗粮,不喝鸡汤

175 日志
22 分类
26 标签
微博 知乎
Links
  • JavaChen
  • 酷壳
© 2020 dodd
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.3