Java|Android设计模式
匆忙拥挤repeat
倦鸟就此散 余花怎不乱 物是人已非 落寞
红尘难看破 美梦成真否 镜花水月尔 迷惘
展开
-
Java 实现原型(Prototype)模式
public class BaseSpoon implements Cloneable {//spoon 匙, 调羹 String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protec原创 2014-10-08 11:35:55 · 1467 阅读 · 0 评论 -
Java 实现解释器(Interpreter)模式
/** * 声明一个抽象的解释操作 * @author stone * */public interface Interpreter { public void interpret(Context context); //实际中,可以有个返回的类型,定义解释出的数据对象}public class XmlSaxInterpreter implements Interpreter原创 2014-10-14 17:30:31 · 3271 阅读 · 1 评论 -
Android 建造者(Builder)模式
关于 Builder 模式 详述:http://blog.csdn.net/jjwwmlp456/article/details/39890699先来张图 看到 Android 中 使用了 Builder 模式的地方还是很多的。使用时 大概如下:Notification noti = new Notification.Builder(context).b原创 2015-07-03 11:28:32 · 2413 阅读 · 0 评论 -
Android 适配器(Adapter)、观察者(Observer) 模式
适配器(Adapter)详述:http://blog.csdn.net/jjwwmlp456/article/details/39893723观察者(Observer)详述:http://blog.csdn.net/jjwwmlp456/article/details/39967021AdapterView 体系 AdapterView中会使用Adapter原创 2015-07-03 18:48:59 · 4392 阅读 · 1 评论 -
Java 实现策略(Strategy)模式
/** * 策略模式:针对同一命令(或行为),不同的策略做不同的动作 * 商品促销 * 本类为:收取现金的类 * * @author stone */public interface ICashSuper { double acceptCash(double money);}/** * 正常收取现金 * @author stone * */public原创 2014-10-10 15:16:38 · 1514 阅读 · 1 评论 -
HeadFirst 设计模式 笔记
设计原则1. 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2. 针对接口编程,而不是针对实现编程。 针对接口编程,实质上是指针对超类型(supertype)编程。 变量的声明类型应该是超类型,通常指一个抽象类或一个接口;多态3. 多用组合,少用继承。 has a 可能比 is a 更好原创 2016-09-10 18:00:32 · 860 阅读 · 0 评论 -
Java 实现建造者(Builder)模式
建造者(Builder)模式是创建型模式,创建了一个对外隐藏创建过程的产品,使用组合的方式,由指挥者(Director)来决定建造的流程public interface Builder { void buildPartA(); void buildPartB(); void buildPartC(); }public class BuilderImpl implements原创 2014-10-08 10:58:37 · 4281 阅读 · 3 评论 -
java 实现单例模式
public class Singleton {private static Singleton intance;private Singleton() {}public static Singleton getInstance() {/** 一开始多线程进来,遇到锁,一个线程进去,是为空,new对象; 后续线程进入,不为空,不操作;最后直接原创 2014-08-06 19:15:32 · 1820 阅读 · 0 评论 -
Java 实现命令(Command)模式
类图public interface ICommand { void execute();}public class ConcreteCommand implements ICommand { private Receiver receiver; public ConcreteCommand(Receiver receiver) { this.receiver = r原创 2014-10-13 11:28:52 · 2652 阅读 · 0 评论 -
Android 使用Java8新特性之Lambda expression 附命令者模式简化
前言Lambda expression,java8的新特性。使用Lambda expression,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。 java8还有其它一些新特性,不过在android上可能都无法使用。 studio 2.x后 支持jack编译器,使用它,能使用java8的Lambda expression,但其它特性也不敢保证就能用。 注:Androi原创 2017-03-08 16:55:54 · 2980 阅读 · 9 评论 -
Java 实现迭代器(Iterator)模式
类图/** * 自定义集合接口, 类似java.util.Collection * 用于数据存储 * @author stone * */public interface ICollection { IIterator iterator(); //返回迭代器 void add(T t); T get(int index);}/** * 自定义迭代器接口 类原创 2014-10-11 12:21:50 · 6263 阅读 · 1 评论 -
Java 实现状态(State)模式
/** * @author stone */public class WindowState { private String stateValue; public WindowState(String stateValue) { this.stateValue = stateValue; } public String getStateValue() { retur原创 2014-10-13 23:19:33 · 4241 阅读 · 1 评论 -
Java 实现中介者(Mediator)模式
类图public interface IMediator { public void createMediator(); public void work();}/** * 中介、调节实际上需要交互的两个元素,让其松耦合 * @author stone * */public class Mediator implements IMediator { pr原创 2014-10-14 15:36:52 · 1617 阅读 · 1 评论 -
Java 实现访问者(Visitor)模式
interface Visitor { void visit(Gladiolus g); void visit(Chrysanthemum c);}// concrete visitor 名称访问class StringVisitor implements Visitor { String s; public String toString() { return s; }原创 2014-10-14 12:56:53 · 1685 阅读 · 0 评论 -
Java 实现简单工厂模式
工厂模式 属于创建型模式简单工厂模式通过一个厂类,以一个条件来创建对应的对象//业务功能public interface ICalculation { double getResult(double numA, double numB);}public class CalcAdd implements ICalculation { @Override public原创 2014-09-26 22:40:20 · 1653 阅读 · 1 评论 -
Java 实现装饰者(Decorator)模式
在Java中,io包下的很多类就是典型的装饰者模式的体现,如:new BufferedOutputStream(OutputStream out)new BufferedInputStream(InputStream in);new PrintWriter(OutputStream out)new FilterReader(Reader in);装饰类与原创 2014-10-08 16:42:48 · 1704 阅读 · 1 评论 -
Java 实现抽象工厂模式
抽象工厂模式里面有几个概念:抽象工厂、实体工厂、抽象产品、实体产品抽象工厂:定义创建产品的抽象方法实体工厂:具体的创建哪种产品抽象产品:一个接口或基类实体产品:实现具体功能,或派生//抽象产品1public interface IProduct1 { public void show();}//抽象产品2public interface IProdu原创 2014-09-28 10:41:30 · 1501 阅读 · 0 评论 -
Java 实现代理(Proxy)模式
/** * 游戏者接口 * @author stone * */public interface IGamePlayer { // 登录游戏 public void login(String user, String password); // 杀怪,网络游戏的主要特色 public void killBoss(); // 升级 public void upgrade原创 2014-10-08 17:15:58 · 2922 阅读 · 0 评论 -
java 实现外观(Facade)模式
/** * 角色 * @author stone * */public class Actor { public Actor(String name) { System.out.println("创建了角色: " + name); } public void load() { System.out.println("角色加载"); } public void u原创 2014-10-08 18:21:33 · 1547 阅读 · 2 评论 -
Java 实现适配器(Adapter)模式
平时我们会经常碰到这样的情况,有了两个现成的类,它们之间没有什么联系,但是我们现在既想用其中一个类的方法,同时也想用另外一个类的方法。有一个解决方法是,修改它们各自的接口,但是这是我们最不愿意看到的。这个时候Adapter模式就会派上用场了适配器 模式 有三种方式,一种是对象适配器,一种是类适配器, 一种是接口适配器以下举例说明:public class DrawRecta原创 2014-10-08 15:21:43 · 12054 阅读 · 0 评论 -
Java 实现桥接(Bridge)模式
/** * 手机壳、套 * @author stone * */public abstract class BaseCellphoneShell { public abstract void mapping();//对应匹配哪种手机}/** * 手机,桥接了 手机壳BaseCellphoneShell * @author stone */public abstract cla原创 2014-10-09 00:49:45 · 1920 阅读 · 3 评论 -
Java 实现模板方法(TemplateMethod)模式
类图/** * 业务流程模板,提供基本框架 * @author stone * */public abstract class BaseTemplate { public abstract void part1(); public abstract void part2(); public abstract void part3(); //这里为了严格实验结原创 2014-10-10 15:34:15 · 1446 阅读 · 1 评论 -
Java 实现组合(Composite)模式
类图/** * 树 整体 * * @author stone * */public class Tree { private TreeNode root; //根节点 public Tree(String name) { this.root = new TreeNode(name); } public TreeNode getRoot() { re原创 2014-10-09 19:30:12 · 2755 阅读 · 0 评论 -
Java 实现享元(Flyweight)模式
/** * 字母 * @author stone * */public class Letter { private String name; public Letter(String name) { this.name = name; } public String getName() { return name; }}/** * 一个产生字母对象的 享元工原创 2014-10-10 12:13:08 · 1462 阅读 · 4 评论 -
Java 实现责任链(Chain of Responsibility)模式
类图/** * 抽象责任 * @author stone * */public abstract class IFilter { private IFilter successor; public IFilter getSuccessor() { return successor; } public void setSuccessor(IFilter succ原创 2014-10-11 17:26:43 · 1940 阅读 · 1 评论 -
Java 实现备忘录(Memento)模式
/** * 数据对象 * @author stone * */public class DataState { private String action; public void setAction(String action) { this.action = action; } public String getAction() { return action;原创 2014-10-13 21:38:56 · 1432 阅读 · 2 评论 -
Java 实现观察者(Observer)模式
1. Java自带的实现类图/** * 观察目标 继承自 java.util.Observable * @author stone * */public class UpdateObservable extends Observable { private int data; public UpdateObservable(Observer observer)原创 2014-10-10 19:11:15 · 3366 阅读 · 1 评论