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、适配器模式
当前文章价值2.95元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
Python常用100个关键字详细示例(1)
Python并没有100个关键字,Python标准库中定义的关键字数量相对较少,并且是固定的。截止到Python 3.10版本,Python共有35个关键字(不包括保留...
添加网络打印机实际操作介绍
添加打印机两种方式:第一种有线类型,第二种无线类型,局域网添加无线打印机配置过程实际操作记录
nginx路径uri地址匹配规则
需求
根据访问的uri地址识别图片类型,将访问图片地址设置访问规则,允许指定的域名访问,直接访问图片地址不被允许。
匹配规则
location = /50x...
Python常用100个关键字详细示例(5)
以下是更多关于Python特性和关键字的说明:
34、 nonlocal - 在嵌套函数内部引用外部非全局(而是封闭作用域内的)变量并修改它们的值:
def out...
MediaRecorder实现微信、QQ、人人、易信等语音录制功能工具:MediaUtilAPI
如何使用MediaRecorder实现类似微信语音、QQ语音、人人语音或易信语音的效果?本文主要封装MediaRecorder用于实现录制...
harmony学习PersistentStorage的应用
需求
当前开发的鸿蒙app增加了“关爱模式”的功能,效果是滑动文字大小进度条码,缩放所有界面的字体大小,设置好字体大小后自动保存本地,重新打...
004-SQLServer存储过程基础语法
CASE WHEN...THEN...ELSE...END
多选择语句,当WHEN条件为true,取THEN后的值,否则取ELSE后的值,然后结束。
具体实例:
SET @orderBy = CASE W...
非常实用的Lenovo G40 Windows8系统进入BIOS收藏手册
各大品牌笔记本/品牌台式机/组装机进入BISO一览表:联想笔记本F12,宏基笔记本F12,华硕笔记本ESC,惠普笔记本F9,Thinkpa...
Python项目配置信息yaml文件使用示例
在Python项目中,使用.yaml文件来存储配置信息是一种常见且推荐的做法,因为YAML格式具有良好的可读性和易于编辑的特点。下面是一个详细的示例,...
VirtualSVN Server与TortoiseSVN版本管理工具的简单使用
摘要:
在钊林的另一篇文章里,介绍了VirtualSVN Server、Virtual SVN和TortoiseSVN三者之间的区别,简单地说前者是服务端,用于创建仓库,分配...