`
文章列表

外观模式

   比如在玩“极品飞车”这款游戏,你只需要等待的就是倒计时到0时以最快的车速冲到第一名,但游戏者根本没有想过在车冲出去之前要做哪些工作,比如挂档,离合器,油箱检测,调整方向等等的微操作,将这些微操作封装起来变成一个接口就是外观模式了。在WEB开发中的MVC分层架构就是典型的一个外观模式,每一层将操作的具体内容隐藏起来,保留一个接口供上层调用。     【外观模式解释】     类型:结构模式     为子系统中的一组接口提供一个一致的interface接口界面。     【外观模式UML图】     【外观模式-JAVA代码实现】     新建赛车类:   pac ...

原型模式。

创建型模式中还有一种与工厂方法模式完全不同的模式,就是原型模式。 原型模式(Prototype Pattern)是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。  用面向对象的方法来说就是,我们先建立一个原型,然后通过对原型进行复制和修饰的方法,就可以产生一个与原型相似的新对象。即:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。  在java中复制模型对象是通过clone()方法实现的。其实,这个方法可以是任意名字,比如cloneA(),cloneB()等。不过,一般应该使用 ...
【模板方法模式应用场景举例】     比如在玩“极品飞车”这款游戏,每辆车都有显示速度的仪表盘,但有可能A车显示的是蓝色的仪表盘,B车显示的是红色的仪表盘,分析中可以发现,他们都有车速度的值,但显示的方式不太一样。其实模板方法就是最典型的“继承”的使用,大家平时百分百都可以用到,只是不知道叫模板方法模式:)!     【模板方法模式解释】     类型:行为模式     模板方法模式定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。     【模板方法模式UML图】     【模板方法模式-JAVA代码实现】   ...

适配器模式

把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 问题引出:大家生活中可能碰到的一个问题就是你新 ...

组合模式

组合模式将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。   水果类,相当于Component package compositedemo; import java.util.ArrayList; import java.util.List; public abstract class Fruit { protected List<Fruit> children; public Fruit() { this.children = new ArrayList<Fruit>(); } ...

桥梁模式

  桥梁模式的用意是把抽象化与实现化脱耦。脱耦是说把抽象和实现之间的耦合解脱,或者说把强关联变成弱关联。桥梁模式的脱耦指的就是把抽象和实现之间的继承/实现关系变成组合/聚合关系。从而可以使两者可以相对独立的变化。这就是桥梁模式的本意。 结构图如下: 桥梁模式的关键是找出抽象化角色和具体化角色。典型应用是JDBC应用。 JDBC API属于抽象化角色,而driver则属于具体化角色。 其中需要通过一个DriverManager类根据指定URL得到具体实现。   仔细体会了一下桥梁模式,感觉凡是“调用和实现”之间的问题都可以用桥梁模式解决,比如说Dao层给Service层之间的调用 ...

策略模式

一.策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用 一个接口,两个实现类1,2,一个client调用类,用于块定是调用类1还是类2. UML示意图 二.组成部分: 1. 环境角色:持有一个策略类引用 2. 抽象策略

装饰模式

装饰模式:给一个类添加一些额外的职责,并且在添加这些额外的职责时不会控制该类的执行逻辑。 UML类图:  组成部分: 抽象构件:原始的功能接口 具体构件:具体的原始功能类 装饰角色:持有具体构件类的对象,以便执行原有功能 具体装饰:具体扩展的功能在这里  1)    抽象构建角色
java 建造者模式 建造模式的角色:1:抽象建造者角色2:具体建造者角色3:导演者角色4:产品角色使用建造模式的情况:1:需要生成的产品有复杂的内部结构2:需要生成的产品对象的属性互相依赖3:在对象的创建过程中会使用到其他对象抽象建造者角色:public abstract class Build {    //kuang jia    abstract void createPart1();    //di pan    abstract void createPart2();    //lun tan    abstract void createPart3();    ...

单例模式

  public class SingleTon(){ private static SingleTon singleTon =null; public static  synchronized  SingleTon getSingleTon(){ if(SingleTon !=null){ singleTon =new SingleTon(); } return singleTon; } }   数据库连接能不能做SingleTon?但是链接池可以使用单例模式,初始化的时候创建譬如100个connection对象,然后再需要的时候提供一个,用过之后返 ...
总结:   简单工厂模式: public interface car(){ public void drive(); } public BMWcar()  implements car{ public void dosomething(){ System.out.println(" i am BMWcar,I am cool"); } } public Benzcar implements car(){ pubilc void dosomething(){ System.out.println("i am benzcar,i ...

抽象类和接口

接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用. 关于什么时候用抽象类,什么时候用接口,我在这里做一下总结。 首先看下面的例子: Java代码 1. abstra ...
私塾在线《深入浅出学   Hadoop-   初级   部分》    ——   系列精品教程 视频课程地址》》》 http://sishuok.com/product/481 整体课程概览 第一部分:开始云计算之旅 第二部分:初识Hadoop 第三部分:Hadoop 环境安装部署
jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式、语言、限制选择日期范围、添加相关按钮以及其它导航等。 官方地址:http://docs.jquery.com/UI/Datepicker ,官方示例: http://jqueryui.com/demos/datepicker/ 。 一个不错的地址,用来DIY jQuery UI界面效果的站点http://jqueryui.com/themeroller/ DatePicker基本使用方法:   <! DOCTYPE ...
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。” 1、《代码大全 》 史蒂夫·迈克康 ...
Global site tag (gtag.js) - Google Analytics