浅析几种Android设计模式
来源:互联网 发布:mac关机快捷键是什么 编辑:程序博客网 时间:2024/06/09 22:10
单例模式
确保单例类只有一个实例,并且这个单例类提供一个函数接口让其他类获取到这个唯一的实例。
相对完美的单例写法
public class Singleton{ private volatile static Singleton instance;//volatile修饰会去堆里拿最新的数据 //将默认的构造函数私有化,防止其他类手动new private Singleton(){}; public static Singleton getInstance(){ if(instance==null){ sychronized(Singleton.class){ if(instance==null) instance=new Singleton(); } } return instatnce; }}
Builder模式
主要是在创建某个对象时,需要设定很多的参数(通过setter方法),但是这些参数必须按照某个顺序设定,或者是设置步骤不同会得到不同结果。这主要是用于链式调用,这也是Builder设计模式中的一个很明显的特征。
public class MyBuilder{private int id;private String num;public MyData build(){ MyData d=new MyData(); d.setId(id); d.setNum(num); return t;}public MyBuilder setId(int id){ this.id=id; return this;}public MyBuilder setNum(String num){ this.num=num; return this;}}public class Test{public static void main(String[] args){ MyData d=new MyBuilder().setId(10).setNum("hc").build();}}
工厂模式
定义一个创建对象的接口,让子类决定实例化哪个类(策略模式、状态模式类似)
public abstract class Product{public abstract void method();} public class ConcreteProductA extends Prodect{public void method(){ System.out.println("我是产品A!"); }}public class ConcreteProductB extends Prodect{public void method(){ System.out.println("我是产品B!"); }}public abstract class Factory{ public abstract Product createProduct();}public class MyFactory extends Factory{ public Product createProduct(){ return new ConcreteProductA(); }}
文章内容部分引用:http://www.jianshu.com/p/1a9f571ad7c0
阅读全文
0 0
- 浅析几种Android设计模式
- 几种常用的设计模式浅析
- Android MVP设计模式浅析
- 几种设计模式
- 几种设计模式
- 几种设计模式
- 几种设计模式
- 几种设计模式
- 几种设计模式
- 几种设计模式
- Android之单例设计模式浅析
- Android底层代码中用到的几种设计模式
- 设计模式主要几种
- java 几种设计模式
- java 几种设计模式
- 几种设计模式概念
- iOS 几种设计模式
- 常用几种设计模式
- js 拾贝集锦 (不定时更新)
- 类找不到异常
- java:retainAll获取俩个自定义实体对象集合的重叠数据
- 运维角度浅谈MySQL数据库优化
- 安装NodeJS及web服务器(运行js,不需要在浏览器执行js)
- 浅析几种Android设计模式
- ionic1 轮播图各种问题 解决方案
- Redis入门简述以及下载安装
- 1009. 说反话 (20)
- web安全扫描工具--Appscan使用
- clang-format
- 用shell实现读取文件夹并输出
- 在做dubbo spring 遇到总是注入提供者接口错误
- Redis4cluster Python支持模块。Geo命令测试