
java设计模式
文章平均质量分 71
wjxbj
这个作者很懒,什么都没留下…
展开
-
适配器模式和代理模式的区别
一.简介 适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客...原创 2015-06-15 20:35:50 · 928 阅读 · 0 评论 -
你真的会写单例模式吗—Java实现
单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。一.饿汉法 顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下:public class Singleton { priva...原创 2016-04-10 22:53:43 · 118 阅读 · 0 评论 -
单例模式与双重检测
首先要解释一下什么是延迟加载,延迟加载就是等到真真使用的时候才去创建实例,不用时不要去创建。 从速度和反应时间角度来讲,非延迟加载(又称饿汉式)好;从资源利用效率上说,延迟加载(又称懒汉式)好。 下面看看几种常见的单例的设计方式:第一种:非延迟加载单例类public class Singleton { private Singl...原创 2016-03-21 21:17:49 · 123 阅读 · 0 评论 -
Java 程序员应该了解的 10 个面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照...原创 2016-03-13 21:07:14 · 124 阅读 · 0 评论 -
Java设计模式-设计模式的六大原则
所谓无招胜有招,练一门功夫分为内功和外功。外功好比招式,就是所谓的23种设计模式。而内功呢,就是心法,那就是这6种法则。光会外功那是花拳绣腿,内功修为才是境界。如此众多的设计模式,学完2遍,3遍可能也会忘的只记得单例和工厂模式。但是只要原则记住,在以后的设计中,有意无意就会用的设计模式的精髓。 上篇已对六大设计原则做了较深的阐述,而下面再来精简下,以便快速回顾...原创 2016-03-13 20:34:40 · 347 阅读 · 0 评论 -
设计模式六大原则
单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。一.单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变...原创 2016-03-13 17:26:25 · 192 阅读 · 0 评论 -
二叉树的三种遍历java实现
二叉树的遍历主要有三种:分别是前序遍历,中序遍历,后序遍历。BSATree.javapackage com.bijian.study;public abstract class BSATree<T extends Comparable<T>> { protected BSTNode<T> aRoot; // 根结点...原创 2016-03-05 21:46:44 · 136 阅读 · 0 评论 -
二叉树的先序遍历、中序遍历、后序遍历
二叉树的遍历大概分为四种,分别是前序遍历、中序遍历、后序遍历、按层遍历。一.先序遍历 原则:根->左->右 先序输出:A B D G H E C K F I J 二.中序遍历 原则:左->根->右 中序输出:G D H B E A K C I J F 三.后序遍历 ...原创 2016-03-05 21:28:19 · 228 阅读 · 0 评论 -
Spring中的设计模式
应该说设计模式是我们在写代码时候的一种被承认的较好的模式。好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性。这是从易读和易传播来感知设计模式的好处。当然设计模式本身更重要的是设计原则的一种实现,比如开闭原则,依赖倒置原则,这些是在代码的修改和扩展上说事。说到底就是人类和代码发生关系的四种场合...原创 2016-01-26 22:37:41 · 90 阅读 · 0 评论 -
JDK里的设计模式
一.结构型模式1.适配器模式 用来把一个接口转化成另一个接口。 java.util.Arrays#asList() javax.swing.JTable(TableModel) java.io.InputStreamReader(InputStream) java.io.OutputStreamWri...原创 2016-01-26 22:00:15 · 114 阅读 · 0 评论 -
java设计模式之命令模式
一.命令模式原理1.家电自动化遥控器API项目的问题 假设有一家家电自动化的公司,在智能家庭、智能家居里每样电器都是可以互相联通的,都是可以通过一个统一的终端来控制,这项目模拟的例子就是遥控器,可以控制家里所有的家电。这个遥控器简化以后就放成这样五排按钮,每排理解为一个为关、一个为开(或者是音响的话,一个是把声音调大,一个是把声音调小,是电视机的话,一个是加频道,一个是减...原创 2015-12-07 00:49:49 · 295 阅读 · 0 评论 -
java设计模式之外观模式
一.外观模式原理1.一个家庭影院项目 DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机 2.传统的控制接口设计 直接用遥控器:统筹各设备开关(开爆米花机、放下屏幕、开投影仪、开音响、开DVD选DVD,去拿爆米花、调暗灯光、播放、观影结束后关闭各种设备) 3.外观模式的原理和设计 把所有的功能或类似功能放到一个按钮上,...原创 2015-12-05 13:58:59 · 252 阅读 · 0 评论 -
java设计模式之策略模式
一.设计模式入门 设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用经验。模式不是代码,而是某类问题的通用设计解决方案。 4人组Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides总结写了《设计模式》。 设计模式的优点和用途。 学习设计模式最好的方式:在你的设...原创 2015-12-05 12:30:25 · 174 阅读 · 0 评论 -
Java多线程编程中Future模式的详解
Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述Future模式。一.Future模式核心思想 Future模式的核心在于:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑(根据《Java...原创 2016-06-27 23:01:23 · 164 阅读 · 0 评论 -
Java实现单例的难点
有简单又高效的方法可以实现单例模式,但没有一种方式能在任何情况下都确保单例的完整性。 单例模式是指某个类只被实例化一次,用来表示全局或系统范围的组件。单例模式常用于日志记录、工厂、窗口管理器和平台组件管理等。我认为要尽量避免使用单例模式,因为一旦实现就很难改变或重载,而且会造成编写测试用例困难、代码结构糟糕等问题。另外,下面文章中的单例模式是不安全的。 ...原创 2016-04-10 23:20:17 · 86 阅读 · 0 评论