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 ,谢谢支持!
详细了解WebChromeClient源码各方法使用说明
摘要:
WebView有几个定制功能方便添加开发者期待的属性。
1、创建并设置一个WebChromeClient子类,该子类在想要改变浏览器的UI界面时回调对应的...
生活杂谈之阿里云免费虚拟主机申请过程详解
对于我来说,拥有一个自己的网站是盼望已久的事情,如今终于实现了,我的网站搭建于2015年05月26日,那是一个值得纪念的日子.搭建一个网站对于初学者...
Eclipse关联android-support-v4包的两种方法
概要
在一个Android项目中,Android Private Libraries、Android Dependencies、Referenced Libraries这三个库把我给搞晕了,本来想要添加Androi...
浅谈JDK和JRE
JDK(Java Development Kit),即Java开发工具包;JRE(Java Runtime Environment),即Java运行环境;两者在Windows系统使用的时候都需要对Path...
用本地大模型搭个人代码助手:Ollama + Continue 实战,推理速度才是硬道理
用本地大模型搭个人代码助手:Ollama + Continue 实战,推理速度才是硬道理
在断网环境下想找个懂代码的帮手,白嫖 GPT 还得看网速,干脆在笔记...
006-SQL Server如何创建一个带参数的存储过程并返回多个结果集?
存储过程模板
SQL Server连接数据库后,依次找到“数据库——》可编程性——》存储过程——》新建——》存储过程”,如下图:
打开一个存储过程模板界面:...
浅谈OptionMenu选项菜单
OptionMenu常用的方法:
1、onCreateOptionMenu(Menu)----初始化选项菜单,只在首次显示的时候调用
2、onPrepareOptionsMenu(Menu)----为程序准...
012-conda如何创建python虚拟环境
如何使用conda创建python虚拟环境
使用Anaconda或Miniconda,可以利用conda命令来创建Python虚拟环境。下面是创建Python虚拟环境的基本步骤:
...
什么是huashu-design
什么是 huashu-design:用嘴做设计的革命
背景:凌晨四点的 Claude Design 很好玩,但第二天我还是回到了终端。因为我宁愿让 agent 帮我干活,...
python库tkinter实现选择多文件上传,文本框显示命令行输出内容
要在Python的tkinter程序中实现选择多个文件上传,并且将命令行输出内容显示在一个文本框内,可以按照以下步骤进行:
导入所需库:
import tki...