Android面试——设计模式

  • 不管当初软件设计的有多好,一段时间之后,总是需要成长与改变…然而成熟的经验能够帮助我们做出改变。
  • 策略模式:继承关系中,如果超类中的某些功能经常会发生变化,比如,改变参数,那么子类都要改变,很麻烦。把父类中的不变部分和可变部分区分出来,将可变部分封装,通过策略模式解决。定义算法,分别封装起来,让他们之间可以互相替换,此模式使算法的变化独立于使用算法的客户。Android 中的那些策略模式
  • 观察者模式Subject-Observer:在对象之间定义一对多的依赖,这样一来,省一个对象改变状态,依赖它的对象都会收到通知,并自动更新。Android设计模式学习之观察者模式
  • 装饰者模式:继承关系中,同一个超类方法,子类有很多种实现方式,导致子类数量庞大。比如,售卖奶茶,奶茶的价格是超类方法,由于加冰、加糖、原材料的不同组合,可以实现很多子类返回不同的价格。动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。Android 源码中的装饰者模式
  • 工厂模式:根据开放-关闭原则,在运行时需要具备扩展功能,但是对修改关闭。代码类中如果根据业务不同,需要创建不同的对象,未来新业务可能需要删除或者添加新类型对象,就需要通过工厂模式解决。解决思路就是把创建对象的代码移到别的地方。工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。工厂模式和抽象工厂模式以及在Android中的应用
  • TODO 其他设计模式

参考:
《Head First 设计模式(中文版)》
《Android 源码设计模式解析与实战(第2版)》

你可能感兴趣的:(面试)