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、适配器模式
当前文章价值8.91元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
Android局域网文件批量管理工具
需求
没有数据线和非开发人员,怎么快速批量管理手机文件,快速批量导入/导出图片视频?
试试这款局域网文件批量管理工具
场景一:旅行照片备...
Python框架Flask封装和Flask-SQLAlchemy实际应用
虽然您的问题提到了PHP,但我理解您希望看到的是在Python Flask中使用MySQL查询并将结果以统一格式返回的例子。这里我们将结合之前提到的响应格...
如何手动用Eclipse默认的keystore导出安卓应用
查看Eclipse的默认的签名文件。点击菜单的“Window”->“Preferences”,打开Preferences对话框。然后点击左...
Android工程师自我介绍模板
自我介绍
大家好,我叫[你的名字],是计算机专业毕业,拥有3.5年Android开发经验的工程师。在过去的几年里,我致力于移动应用的开发与优化,并积...
harmony初步学习自定义组件
需求
使用ArkTS定义一个用户名输入框,左边是描述文字,右边是输入框,作为一个通用组件,在其他界面复用。
新建组件DzEditText.ets
//code by ...
module导入Android Studio的两种方式,你用了吧?
Android Studio怎么将一个module导入当前项目中,或者将当前电脑的项目移动到另外一台电脑?两种常用的导入module的方式...
一寸照片处理工具操作手册
功能更新记录
2024-05-06,新增功能:
1. 支持裁剪指定区域,根据裁剪区域输出一寸照片或两寸照片
2. 增加图片旋转功能,手机拍照时,图片旋转90...
结合实例讲解加载 GIF 并控制播放的常见场景应用
以下是通过实例讲解 Glide 加载 GIF 并控制播放的常见应用场景,涵盖基础加载、播放控制和性能优化,帮助开发者灵活应对动态图片的展示需求。
...
php7.0-fpm启动启动异常
在Nginx配置文件中遇到错误提示“fastcgi_pass directive is not allowed here”通常意味着你在不适当的上下文中使用了fastcgi_pass指令。fastcgi_...
Python内置关键字详细用法(2)
当然,这里再补充一些Python内置关键字的详细介绍:
del:
删除对象的关键字,可以用来删除变量、列表元素、字典元素等。例如:
mylist = [1...