- 博客(7)
- 资源 (8)
- 收藏
- 关注
原创 Java设计模式——代理模式(Proxy Pattern)
什么是代理模式客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。为其他对象提供一个代理以控制对某个对象的访问。【中介,律师等】 AbstractObject【抽象对象角色】 : 声明了目标对象和代理对象的共同接口。 RealObject【委托对象】 : 代理对象所代表的东西。 ProxyObject【代理对象】 : 代理对象内部含有委托对象的引用,从
2017-05-31 22:36:02 903
原创 Java设计模式——抽象工厂(Abstract Factory)以及工厂模式总结
抽象工厂和工厂方法的区别 工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个抽象产品类。 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个具体产品类。(与上面呼应) 【个人认为】抽象工厂和工厂方法最明了的区别就是【抽象工厂有多个产品】 结构类图先上图分析一波 【与工厂方法最主要的区别在于 iHeroFactory多了Wear()方法,多了 Iequipm
2017-05-24 21:33:58 949
原创 Java设计模式——工厂方法(Factory Method)
什么是工厂方法定义一个创建产品对象的工厂接口,让子类决定实例化哪一个类,将实际创建工作推迟到子类当中。它的核心结构有四个角色,分别是 【抽象工厂】Factory : 具体工厂类必须实现这个接口。在实际的系统中,这个角色也常常使用抽象类实现。 【具体工厂】ConcreteFactory : 实现了抽象工厂接口的具体类。具体工厂角色含有与业务密切相关的逻辑。 【抽象产品】Product :
2017-05-23 22:29:24 3131 1
原创 Java设计模式——简单工厂(Simple Factory)
什么是简单工厂【又叫静态工厂】由一个工厂类来创建具有相同父类的类。【漫威的英雄有一个共同点,那就是他们都有很强的作战能力(分为智力,力量,和格斗技巧等)】结构类图 简单工厂【Simple Factory】 iHeroFactory: 专门用来调度英雄,传入名字召唤漫威英雄。 iHero : 定义英雄(产品)规范(都有超强的能力skill),可以使用接口或抽象类。 public int
2017-05-15 23:38:26 879
原创 Java设计模式——策略(Strategy)
什么是策略模式将一组算法,封装到具有共同接口的独立类中,这些类可以相互转化。 结构类图 策略模式【Strategy】 【抽象策略】Strategy : 通常由接口/抽象类实现,给出具体的策略所需要的方法。 【具体策略】ConcreteStrategy : 具体实现的策略算法和步骤。 【封装类】Context : 持有一个Strategy的引用。对策略二次封装,避免了对策略的直
2017-05-08 22:57:37 954 1
原创 Java设计模式——模板方法(Template Method)以及策略模式比较
什么是模板方法定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。是基于继承的代码复用的基本模式。结构类图 抽象模板【AbstractTemplate】 【模板方法】templateMethod : 把基本操作方法组合在一起形成一个总算法或一个总行为的方法。 【抽象方法】abstractMethod : 父类
2017-05-07 10:13:34 1382
原创 Java设计模式——单例(Singleton)
什么是单例单例是保证一个内存/进程里只有一个类的实例,并提供一个访问它的全局访问点。 内存/进程中只有一个实例 线程安全 性能优化 防止序列化产生新对象 初用懒汉式饿汉式缺点 :单例会在加载类后一开始就被初始化,即使客户端没有调用 getInstance()方法。饿汉式的创建方式在一些场景中将无法使用:譬如 Singleton 实例的创建是依赖参数或者配置文件的,在 getInstance() 之前
2017-05-06 10:06:50 883
AIDLDemo项目,包含客户端和服务端
2017-09-24
AIDL进程间通讯demo
2017-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人