Android常用的设计模式

一、设计模式原则
  • 单一职责
  • 开放封闭
  • 里氏替换
    所有引用基类的地方都能透明地替换为子类对象,即可以在定义时尽量使用基类对象,等到运行时再确定其子类类型,用子类对象来替换父类对象。
  • 依赖倒置
  • 迪米特原则
    一个软件实体应该尽可能少地与其它实体发生相互作用,即最少知识原则。如果一个对象需要调用其它对象的某个方法,可以通过第三者来调用,这个第三者的作用就如Android中的事件总线EventBus一样。
  • 接口抽离
二、设计模式分类
  • 创建型
    (5种)单例、工厂方法、抽象工厂、建造者、原型
  • 结构型
    (7种)适配器、装饰、代理、外观、桥接、组合、享元
  • 行为型
    (11种)策略、模板方法、观察者、迭代器、责任链、命令、备忘录、状态、访问者、中介者、解释器
三、Android常见设计模式
1. 创建型设计模式
单例模式

(1).饿汉模式

public class Singleton {
       
    private static Singleton singleton = new Singleton();    
    private Singleton() {
       }    
    public static Singleton getSingleton() {
          
        return singleton;   
        }
 }

(2).双重检查模式DCL

public class Singleton {
       
    //保证对象原子性,在不同线程中改变值,每个线程都取主线程值,保证数据一致性
    private volatile static Singleton singleton;    
    private Singleton() {
       }    
    public static Singleton getInstance() {
          
        if (null == singleton) {
               
            synchronized (Singleton.class) {
                  
                if (null == singleton) {
                      
                    singleton = new Singleton();               
                 }           
             }        
         }        
         return singleton;   
    }
 }

(3)静态内部类单例模式

public class Singleton {
      
    private Singleton() {
       }    
    public static Singleton getInstance() {
       
        //确保实例再调用方法是才创建,避免消耗内存
        return SingletonHolder.mSingleton;    
    }    
    private static class SingletonHolder {
           
        private static final Singleton mSingleton = new Singleton();   
    }
 }
工厂方法模式

工厂方法有以下角色:

  • 抽象产品类
  • 具体产品类
  • 抽象工厂类:返回一个泛型的产品对象
  • 具体工厂类:返回具体的产品对象
//抽象产品类
public abstract class 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android设计模式是在Android应用程序开发中常用的一些软件设计模式的应用集合。这些设计模式可以帮助开发者解决一些常见的问题,提高代码的可维护性、可扩展性和可重用性。 以下是一些常见的Android设计模式: 1. MVC(Model-View-Controller)模式:将应用程序分为模型、视图和控制器三个部分,实现了业务逻辑和界面的分离。模型负责数据的处理和存储,视图负责展示界面,控制器负责处理用户的输入和业务逻辑的处理。 2. MVP(Model-View-Presenter)模式:在MVC模式的基础上,将控制器改为Presenter,负责处理视图和模型之间的交互。Presenter通过接口与视图进行通信,将视图的操作转发给模型进行处理。 3. MVVM(Model-View-ViewModel)模式:在MVP模式的基础上,引入了ViewModel层,负责处理视图和模型之间的数据绑定。ViewModel将模型的数据转换为视图所需的数据,并通过数据绑定机制将其绑定到视图上。 4. 单例模式:确保一个类只有一个实例,并提供一个全局的访问点。在Android开发中,常用于管理全局的资源或状态,例如Application类。 5. 观察者模式:定义了对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会收到通知并自动更新。在Android开发中,常用于实现事件的发布和订阅机制。 6. 适配器模式:将一个类的接口转换成客户端所期望的另一个接口。在Android开发中,常用于将不同的组件或类适配成统一的接口,例如RecyclerView的Adapter。 这些设计模式可以根据具体的需求和场景进行选择和组合使用,以提高代码的质量和开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值