首页 > 代码库 > 设计模式
设计模式
单例模式、建造者模式 、工厂模式、生产者模式、开发者模式、
0.单例模式: 数据库对象(SQLiteOpenHelper)
保证了在程序中只有一个实例存在并且能全局的访问到
public class Singleton { //懒汉式 /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法,防止被实例化 */ private Singleton() { } /* 1:懒汉式,静态工程方法,创建实例 */ public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
1.建造者模式builder: AlertDialog.Builder Retrofit 和 OkHttp
AlertDialog.Builder builder = new Builder(this); //builder.setCancelable(false);//设置对话框是否可以消失,true:可以;false:不可以,屏蔽返回键 //设置对话框的标题 builder.setTitle("最新版本:"+mNewsVersion+".0"); //设置图标 builder.setIcon(R.drawable.ic_launcher); //设置对话框内容 builder.setMessage(mNewsMsg); //监听对话框消失的时候 builder.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { //跳转到首页的操作 dialog.dismiss(); enterHome(); } }); //创建按钮 builder.setPositiveButton("立即更新", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //隐藏对话框,下载最新版本apk dialog.dismiss(); //3.下载最新版本apk downloadAPK(); } }); builder.setNegativeButton("以后再说", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //隐藏对话框,跳转到首页 dialog.dismiss(); enterHome(); } }); //展示对话框 builder.show();
2.工厂模式 :BitmapFactory.decodeByteArray(byte[] data, int offset,int length)
.decodeFIle(String pathName)
.decodeFileDescriptor(FileDescriptor fd)
.decodeResource(Resource res,int id)
.decodeStream(InputStream is)
3,生产者模式: handler机制 ,自己生产自己消费
设计模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。