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 ,谢谢支持!
关于Android app的launcher图标更换后,仍然显示默认的ic_launcher图标的解决方法
关于替换Android项目drawable-hdpi、drawable-xhdpi、drawable-xxhdpi默认APP ic_lau...
Android开发之gravity和layout_gravity之间的区别-案例演示
摘要:
我经常分不清楚gravity和layout_gravity到底怎么用,所以在布局的时候展示不出想要的效果,今天刚好做了一个案例,趁此弄明白了gravity和...
使用gunicorn部署Flask开发的Web项目,关于workers工作进程数设置的问题
gunicorn --workers 2 --bind 0.0.0.0:8000 app:app
用于启动Gunicorn(一个Python WSGI的Web服务器)。这个指令的具体意义分解如下:
gunicor...
Eclipse开发项目中红色感叹号问题解决办法
本文详细介绍了在做Android开发过程中遇到的几种出现红色感叹号的情况,并针对不同的情况给予解决的办法,帮助开发者解决难题。
选题定生死:我用 100 篇文章换来的选题方法论
选题定生死:我用 100 篇文章换来的选题方法论
写了 100 多篇技术博客后,我终于承认一个事实:一篇好文章的命运,在动笔前就决定了 80%。选题比...
wordpress+apche通过启用基本的HTTP身份验证来限制对某些敏感页面的访问具体实现
要在WordPress中通过启用基本的HTTP身份验证来限制对某些敏感页面的访问,可以按照以下步骤进行操作。这需要您有访问服务器的权限,特别是能够修...
Kubernetes 网络策略与Cilium实战配置指南
Kubernetes 网络策略与Cilium实战配置指南
结论先行: Cilium 通过 eBPF 技术替代 iptables,让 Kubernetes 网络策略实现更高效、更灵活,尤其在...
容器化应用从开发到生产部署:我踩过的 8 个坑和最终沉淀的最佳实践
容器化应用从开发到生产部署:我踩过的 8 个坑和最终沉淀的最佳实践
我们团队从传统虚拟机部署迁移到容器化架构,前后折腾了三个月。多阶段构建...
ai工具自动发送markdown文章到wordpress站点
需要
本地编辑好Markdown文章,配置好站点信息,运行程序选中需要发送的文件,自动发送。
自动发送
打包成exe文件,双击运行,选中需要发布的文...
关于接口的理解:源头,接口,终点
摘要:
在Android开发中,对事件的处理机制有两种方式,一种基于回调机制的事件处理,另一种基于监听接口的事件处理。实际开发中,通过监听接口...