1、单例模式(静态模式)
使用原则:使内存中保持一个对象,写法如下:
- public class SingleObj{
- private static final SingleObj obj=new SingleObj();
- public static SingleObj getObj(){
- return obj;
- }
- private SingleObj{
- }
- }
2、工厂模式
使用原则:提供实例对象的引用,写法如下:
- public class Demo{
- public static void main(String[] args){
- Factory f=new Factory();
- f.getInstance().getString();
- }
- }
- public class Factory{
- public DemoDao getInstance(){
- DemoDao instance=new DemoDaoImp();
- return instance;
- }
- }
- interface DemoDao{
- public String getString();
- }
- public DemoDaoImp Implements DemoDao{
- public String getString(){
- System.out.println("工厂模式");
- };
- }
3、代理设计模式
使用原则:就像秘书和老板的关系,秘书负责日常事务的处理,比如老板行程安排、会议资料的整理,老板负责执行,比如开始行程 、开会宣布工作
- interface NormalTask{
- public void journey();
- }
- public class Boss implements NormalTask{
- public void journey(){
- System.out.println("开始行程");//老板开始行程
- };
- }
- public class Secretary implements NormalTask{
- private NormalTask task;
- public Secretary(NormalTask task){
- this.task=task;
- }
- public void planJourney(){//秘书需要做额外的安排工作
- System.out.println("安排行程");
- };
- public void journey(){
- this.planJournery();//判读是否安排好了行程,如果安排好了,就可以开始行程了
- this.task.journery();//通知老板可以开始行程了
- };
- }
- public class Demo{
- public static void main(String args[]){
- NormalTask task=new Secretary(new Boss());
- task.journery();//老板在秘书的安排下开始行程
- }
- }
4、观察者设计模式
5、适配器模式
当前文章价值4.04元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
调试微信官方Demo闪退的几个问题
微信官方提供的Demo直接运行出现闪退或错误-1,主要是签名不一致的问题,Eclipse中的每个项目在安装运行之前,默认使用window—...
Android开发之Genymotion安装第三方软件的“APP not installed”问题
使用Genymotion在Android开发项目的出现的问题,当下载一个第三方的录屏幕软件来演示Demo的,在应用市场下载的APP软件,G...
浅谈json的封装和解析
第一种json数据的封装格式:
{
"data":{"Java":"Java开发","Android":"Android程序设计"},
"header":{"name":"飞腾博客","address":"https://ww...
浅谈事件监听器接口的实现方法
事件监听器接口的实现方法有四种:匿名类实现法,外部类实现法,内部类实现法,XML中定义
第一种:
butt.setOnClickListener(new View.OnClickLis...
为什么用户访问需要校验的wp-login.php时,验证通过后不是跳转登录界面,而是下载了wp-login.php页面?
用户访问wp-login.php时,验证通过后并没有显示登录界面,而是下载了wp-login.php页面。这通常是由于Nginx的配置问题导致的。nginx配置中,缺少...
关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法
使用PullToRefreshListView做新闻列表的时候,碰到ListView调用notifyDataSetchanged方法后列表...
Activity四种启动模式
1、standard:默认的启动模式,每次激活Activity时都会创建Activity,并放入任务栈中
2、singleTop:如果任务的栈顶刚好存在Activity的实例,就...
关于WordPress后台设置中的WordPress地址和站点地址的解读
WordPress地址和站点地址更改后,后台登录不了,前台页面显示错乱的解决过程分析。
007-wordpress防止文章被爬取,编码实现
WordPress 本身并没有内置防止内容被爬取的功能,因为这通常与网站的开放性和搜索引擎优化相违背。然而,在某些情况下,需要限制特定内容不被非...
线上产品接入bugly热更新
摘要
Tinker热更新补丁能够执行成功,依赖基准包中的TINKER_ID和补丁包的TINKER_ID一致。基准包的TINKER_ID可以在打包后的apk文件解压后Andro...