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、适配器模式

你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
【C盘急救站】一键清理工具CCleaner详细使用教程
本人的笔记本电脑用了7年,C盘、D盘、E盘基本都满了,安装了比较多的编程软件,现在C盘显示“爆红”,使用CCleaner清理工具可以有效找出哪个文件或...
Android开发之深入理解Builder设计模式
摘要:
说到Builder设计模式,相信很多人已经相当熟悉了,很自然地联想到AlertDialog,一个使用了Builder设计模式并经常使用到的类。这篇文章将...
Android学习笔记十二:Android基础知识
摘要:
这篇介绍Android基础知识的文章,重点介绍Activity、Service、BroadcastReceiver、ContentProvider四大组件在各种情况下的生命周期,Appl...
008-SQL Server实战经验总结:如何将一对多的两个表中的某些列合并成一行显示?
需求场景
SQL Server有两个表mom_order、mom_proutingdetail,momorder中的MOMID和momproutingdetail中的MOMID是一对多的关系,momorder中的一个...
wordpress打不开页面提示:此站点正遇到技术问题
新建界面,编辑内容后,打开预览或发布后,wordpress界面显示空白,提示“此站点正遇到技术问题”,请联系管理员
Python库sklearn安装过程
安装Python库scikit-learn(通常简称为sklearn),它是基于pip(Python的包管理器)的标准安装过程。以下是详细的安装步骤:
前提条件:
确保您...
Ubuntu系统ERROR 2002 (HY000) Can not connect to local MySQL server through socket varrunmysqldmysqld
在Ubuntu系统中遇到MySQL错误“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'”,这通...
startService和bindService区别
startService和bindService是Service的两种启动方式,区别如下:
1、startService在一个Activity或Context中调用,过程Context.startService->on...
Python框架JWT实现登录token生成和接口校验
假设您已经有了一个基础的用户登录功能,并且现在要添加JWT生成与校验的部分。下面是一个结合了登录验证和JWT生成及校验的简化版Python后端示例...
面向抽象的编程思想之重写RecyclerView
Android平台事件处理分为两种方式:一是基于回调机制,另一种是基于接口监听,刚好对应抽象类和接口。也可以说抽象类是基于回调机制的事件处...