博客专栏  >  编程语言   >  设计模式详解

设计模式详解

介绍23种设计模式,用java实现例子,都可以直接运行。简单易懂

关注
4 已关注
24篇博文
  • 面向对象的23种设计模式

    首先呢,设计模式是针对面向对象来的。再说设计模式之前我们先来说一下六大设计原则。 首先最基础的开闭原则:对扩展开放,对修改关闭。 为啥这是最基础的,因为我们都知道软件是要改的。对扩展开放保证了可以增...

    2017-08-16 15:42
    1710
  • 六种线程安全的单例模式

    单例模式怕是很多程序员使用最多的设计模式了,面向对象的23种设计模式点这里。废话不多说,直接上代码:public class Singleton { //1.懒汉型 private stat...

    2017-08-16 18:31
    807
  • 原型模式的深浅复制和序列化

    这是java的Object直接有方法的设计模式,面向对象的23种设计模式点这里。我们要做的只是实现Cloneable接口,这个接口的目的只是告诉jvm这个类的对象可以clone。同样的还有Serial...

    2017-08-17 15:19
    773
  • 工厂方法模式

    我们在看一些源码时经常会看到xxxxFactory,这就是工厂模式了。面向对象的23种设计模式点这里。说工厂模式之前先说个段子:有个单身的java程序员,过年回家晚上睡着了。父母看着独生的儿子就着急说...

    2017-08-18 17:27
    787
  • 抽象工厂模式

    上一篇写了简单工厂和工厂方法,简单工厂和工厂方法点这里,面向对象的23种设计模式点这里。我们还用上词美女的例子,直接上代码:public class Factory {//抽象工厂模式,还是一个类。觉...

    2017-08-21 14:13
    760
  • 建造者模式

    建造者模式使用的也是比较多的设计模式, public class Computer { private String cpu; private String screen; ...

    2017-08-22 10:15
    790
  • 两种适配器模式

    说到适配器,我想我们接触最多的叫电源适配器。没错,所有的手机充电器都是电源适配器。从交流变直流,从220v到5v。而适配器模式分为两种,一种是类适配器,一种是对象适配器。下面先写类适配器: pu...

    2017-08-24 18:08
    803
  • 装饰器模式

    装饰器模式,听名字就知道是在原来的上面加点东西,面向对象的23种设计模式点这里。废话少说,我们把圆球图上颜色。上代码:public class Decorator { public inter...

    2017-08-30 16:15
    831
  • 代理模式

    代理模式和装饰器模式实现起来很像,那他们的区别在哪呢。我喜欢从名字上分析,装饰只是加点东西,而代理是全权的。所以装饰改的是一个接口的方法(当然装饰可以嵌套),而代理是所有的方法(当然java动态代理只...

    2017-09-01 17:20
    776
  • 外观模式

    这个是比较好理解的,拿我们的电脑做例子。电脑有cpu,内存,显卡等这些。当电脑开机时,主板、cpu、内存等都要启动。但作为用户并不需要管里面启动顺序之类的,我们只要按下开机键就行了。public cl...

    2017-09-04 15:21
    767
  • 桥接模式

    因为这个模式网上有很多不恰当的例子,这里先引用百度百科的定义:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或...

    2017-09-11 20:18
    793
  • 享元模式

    享元模式听名字就知道是共享一个东西,为了节省内存嘛。那么它和单例模式有什么不同呢?单利模式就一个对象,而享元模式是一组对象,共享的是相同的对象。没错,我们的String就用的享元模式,下面我们代码实现...

    2017-09-11 20:34
    768
  • 组合模式

    这里的组合模式不是”组合好于继承”的组合,那么是什么组合呢,我们来看代码: abstract class Component { String name; publ...

    2017-09-11 21:06
    798
  • 策略模式与机制

    在说策略模式之前,我们首先要说下Unix/Linux的接口设计有一句通用“提供机制而不是策略”的格言。 什么是策略,策略有点像战术是具体的东西。而机制像战略是目的。 通俗来说机制是做什么,策略是怎...

    2017-09-21 13:38
    758
  • 模板方法模式

    我们做一些事情都有一个步骤,而相似事的步骤是一致的。就拿我们打10086来说,有人查余额和有人要人工服务,但他们的不知都分下面三步:拨号、选择服务、评分。这种最适合用模板方法,实现如下:public ...

    2017-09-21 15:11
    751
  • 观察者模式与回调

    在说观察者模式之前,我们来说一下回调函数。如小明想找小丽看电影,小丽不在家。小丽妈妈接的电话,于是小明说小丽到家了告诉他。实现如下:public class Observer { public...

    2017-09-21 16:49
    808
  • 迭代器模式

    迭代模式就是提供一种遍历方式,像list、set等都实现了迭代模式。我们下面实现对String字符的遍历:public class MyIterator { interface iterato...

    2017-09-25 09:00
    753
  • 责任链模式

    说责任链之前,我们先来说责任。责任就是一件事情由谁处理,出了问题由谁负责。无论公司还是政府,都是层层管理的,上面不处理就交给下面。就形成了一个责任链条, 现在的触屏设备的点击事件也是一样。一般都采用责...

    2017-09-25 11:36
    777
  • 命令模式

    命令,我们知道有命令、命令者、和被命令者。代码如下:public class Command { //命令模式 本来很简单的一句话的事为啥要整个模式,这个模式最主要的是命令者和被命令者的分离 ...

    2017-09-28 18:28
    750
  • 备忘录模式

    备忘录模式也叫快照模式。在我们使用画图或ppt等办公软件时,常要撤销一些操作,这也是这个模式存在的最主要原因。代码如下:public class Memento {//这个模式为了恢复到以前的某个状态...

    2017-10-13 16:24
    1047
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部