Android开发需要知道的5个设计模式

设计模式是软件设计中给定上下文中常见问题的通用、可重用解决方案。
设计模式是对经常出现的问题的解决方案。
设计模式不是成品,相反,它们是可以根据上下文应用于多种情况的模板,并且可以随着时间的推移进行改进,从而成为非常强大的软件工程工具。设计模式可帮助开发人员实施经过验证且被广泛采用的解决方案。它有助于提高开发速度,并且使用设计模式模板更快地开发解决方案可以提高编码效率、可维护性和代码可读性。

设计模式的类型:
以下是不同类型的设计模式:
创意设计模式
结构设计模式
行为设计模式。

  1. 创造性:
    这些模式是为创建对象或类的方式而设计的。
    2.结构:
    这些模式是针对类的结构和组成而设计的。
    3.行为:
    这些模式的设计取决于一个类与其他类的通信方式。
    Android 开发者的设计模式:
    Android 是一个移动开发者平台,它还提供 API 来开发手表和嵌入式系统的应用程序。就像你是一个安卓开发者一样,你应该知道常见的简单设计模式。
    模式 1 单例模式:
    这种创建设计模式有助于在应用程序上下文中实例化对象一次且仅一次。单例是一个类,它只允许创建其自身的单个实例并允许访问该创建的实例。当您要创建数据库连接对象以从应用程序创建一个且唯一的会话时,这很有用。
    记住以下几点:
    私有构造函数
    其类的静态引用
    一种静态方法
    可全局访问的对象引用
    跨多个线程的一致性
    例子:
    publicclassSingletonInstance{//A static reference of its classprivatestaticSingletonInstanceinstance=null;//private constructorprivateSingletonInstance(){}//One static method//Globally accessible object referencepublicstaticSingletonInstancegetInstance(){if(instancenull){//Consistency across multiple threadssynchronized(SingletonInstance.class){if(instancenull){instance=newSingletonInstance();}}}returninstance;}}
    模式 2 工厂:
    这也是一种创造设计模式。这确保子类应该决定如何实例化对象。我们在不向客户端公开创建逻辑的情况下创建对象,并且客户端使用相同的通用接口来创建新类型的对象。您可以拥有任意数量的类,但这些隐藏和对象是使用接口或抽象类创建的。
    记住以下几点:
    执行。
    创建一个接口。
    创建实现相同接口的具体类。
    创建工厂以根据输入生成具体类的对象。
    使用工厂获取具体类的对象。
    例子:
    //CarType.javapublicenumCarType{SMALL,SEDAN,LUXURY}//Car.javapublicabstractclassCar{publicCar(CarTypemodel){this.model=model;arrangeParts();}privatevoidarrangeParts(){// Do one time processing here}protectedabstractvoidconstruct();privateCarTypemodel=null;publicCarTypegetModel(){returnmodel;}publicvoidsetModel(CarTypemodel){this.model=model;}}//LuxuryCar.javapublicclassLuxuryCarextendsCar{LuxuryCar(){super(CarType.LUXURY);construct();}@Overrideprotectedvoidconstruct(){System.out.println(“Building luxury car”);}}//SmallCar.javapublicclassSmallCarextendsCar{SmallCar(){super(CarType.SMALL);construct();}@Overrideprotectedvoidconstruct(){System.out.println(“Building small car”);}}
    模式 3 构建器模式:
    构建器模式旨在将复杂对象的构造与其表示分离,以便相同的构造过程可以创建不同的表示。它用于逐步构造一个复杂的对象,最后一步将返回该对象。构建器模式是一种设计模式,旨在为各种对象创建问题提供灵活的解决方案。
    记住以下几点:
    私有构造函数
    通常称为 Builder 的内部类
    函数为每个字段设置字段值返回
    主类的函数构建返回实例
    示例 Kotlin:
    classHamburgerprivateconstructor(valcheese:Boolean,valbeef:Boolean,valonions:Boolean){classBuilder{privatevarcheese:Boolean=trueprivatevarbeef:Boolean=trueprivatevaronions:Boolean=truefuncheese(value:Boolean)=apply{cheese=value}funbeef(value:Boolean)=apply{beef=value}funonions(value:Boolean)=apply{onions=value}funbuild()=Hamburger(cheese,beef,onions)}}
    模式 4 适配器模式:
    作为一名安卓开发者,你可能已经使用过这种设计模式。这就像 android 开发者的日生技计。适配器模式充当两个不兼容接口之间的桥梁。这种模式涉及一个单一的类,该类负责连接独立或不兼容接口的功能。通过一个真实的示例,您可以将此模式映射到您的手机充电器适配器。这是结构设计模式的类型。
    interfaceBird{publicvoidfly();publicvoidmakeSound();}classSparrowimplementsBird{publicvoidfly(){System.out.println(“Flying”);}publicvoidmakeSound(){System.out.println(“Chirp Chirp”);}}interfaceToyDuck{// target interface// toyducks dont fly they just make// squeaking soundpublicvoidsqueak();}classPlasticToyDuckimplementsToyDuck{publicvoidsqueak(){System.out.println(“Squeak”);}}classBirdAdapterimplementsToyDuck{// You need to implement the interface your// client expects to use.Birdbird;publicBirdAdapter(Birdbird){this.bird=bird;}publicvoidsqueak(){bird.makeSound();}}
    模式5 外观模式:
    外观设计模式是企业开发中非常重要的设计模式。外观模式提供了一个更高级别的接口,使一组其他接口更易于使用。
    Facade 定义了一个新的接口,而 Adapter 使用了一个旧的接口。Facade 处理接口,而不是实现。
    例子:
    publicinterfaceLaptopShop{publicvoidmodelNo();publicvoidprice();}publicclassDellLaptopimplementsLaptopShop{@OverridepublicvoidmodelNo(){System.out.println(" Dell 6 “);}@Overridepublicvoidprice(){System.out.println(” Rs 65000.00 “);}}publicclassLenovoimplementsLaptopShop{@OverridepublicvoidmodelNo(){System.out.println(” Lenovo 3 “);}@Overridepublicvoidprice(){System.out.println(” Rs 45000.00 ");}}publicclassShopKeeper{privateLaptopShopdell;privateLaptopShoplenovo;publicShopKeeper(){dell=newDellLaptop();lenovo=newLenovo();}publicvoiddellSale(){dell.modelNo();dell.price();}publicvoidlenovoSale(){lenovo.modelNo();lenovo.price();}}

结论:
在这篇文章中,我试图解释一个你需要知道的非常基本的列表。本文并不仅仅声称这些设计模式很重要,但这些是您应该熟悉的基础知识。
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向才能达到有效的学习效果。

你可能感兴趣的:(Android面试题,设计模式,android)