自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 设计模式23篇:迭代器模式

内容迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。类图

2016-05-30 22:38:06 224

原创 设计模式23篇:策略模式

类图

2016-05-30 21:42:27 263

原创 设计模式23篇:责任链模式

内容 可以把责任分配给不同等级,不同特征的人来执行。 自己的类里可以分配不同的责任。 3.客户端动态地组合责任链,实现不同的功能要求。 代码

2016-05-25 21:51:50 316

原创 设计模式23篇:命令者模式

内容 命令模式使新的命令很容易地被加入到系统里 允许接收请求的一方决定是否要否决请求(未理解) 能较容易地设计一个命令队列 可以容易地实现对请求的撤销和恢复 在需求的情况下,可以较容易地将命令记入日志 代码

2016-05-25 20:57:01 237

原创 欢迎使用CSDN-markdown编辑器

内容让每个窗口各负责一个业务,同时委任了一位访问者,负责在客户进门时,询问他要办理的业务,告诉他应该去哪个窗口办理。这样,每个窗口的业务员就只负责一项业务,减少了在不同业务之间切换的时间耗费,当某项业务的处理流程发生变更时,不需要同时麻烦三个窗口的业务员,而只需要让处理这项业务的业务员进行修改就可以了。代码public interface Service { public void acce

2016-05-23 23:01:10 212

原创 设计模式23篇:观察者模式

定义定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类图代码abstract class Subject { private Vector<Observer> obs = new Vector<Observer>(); public void addObserver(Observer obs){ this

2016-05-10 23:26:52 345

原创 设计模式23篇:中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类图:代码:

2016-05-10 21:40:20 252

原创 继承关键字:public private protected

public:公有的属性和方法:可以在继承子类和继承外面调用。private:私有的属性和方法:继承子类和继承外面不能调用。protected:保护的属性和方法:只有继承子类可以访问。

2016-05-10 21:37:21 322

原创 设计模式23篇:模版方法模式

定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。代码:public abstract class AbstractClass {//基本方法protected abstract void doSomething();//基本方法protected abstract void doAnything();//模板方法public

2016-05-10 21:02:41 218

原创 设计模式23篇:原型模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类图: 原型模式浅拷贝:public class Prototype implements Cloneable { public Prototype clone() { Prototype prototype = null; try { prototype = (Pr

2016-05-04 21:59:20 263

原创 重构:switch语句改成策略模式还是状态模式

在重构篇里,可以用多态来取代switch语句,但是因为:一部影片可以在生命周期内修改自己的分类,一个对象却不能在生命周期内修改自己所属的类。所以这里不能用策略模式,用多态取代switch,而应该用状态模式(State)。public class Movie { public static final int CHILDRENS = 2; public static final int

2016-05-02 22:32:23 6997

原创 重构:Query Method

在重构:Replace Temp with Query中,用查询函数(query method)来取代totalAmount 和frequentRentalPoints这两个临时变量。首先用getTotalCharge()取代totalAmount:public class Customer { private String _name; private Vector<Rental>

2016-05-02 22:17:50 492

原创 重构:Replace Temp with Query

把重构:move method篇中的statement函数中,变量thisAmount可以除去啦。

2016-05-02 21:07:59 327

原创 重构:Move Method

在重构:extract method篇中的,amountFor函数应该搬家到Rental类中。public class Rental { private Movie _mMovie; private int _daysRented; public Rental(Movie movie, int daysRented) { // TODO Auto-generat

2016-05-02 21:01:54 313

原创 重构:Extract Method

public class Movie { public static final int CHILDRENS = 2; public static final int REGULAR = 0; public static final int NEW_RELEASE = 1; private String _title; private int _priceCo

2016-05-02 20:42:52 322

原创 设计模式六大原则:单一职责

定义:不要存在多余一个导致类变更的原因。public class Animal { public void breathe(String animal) { System.out.println(animal + "呼吸空气"); } } public class Client { public static vo

2016-05-02 18:11:05 356

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除