×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

APP开发关于设计模式(DesignPattern)的原则详解

文章编辑:网站建设 文章来源:APP开发 浏览量:

  APP开发关于设计模式(DesignPattern)简介,设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。深圳APP开发公司认为使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
开发APP面向对象设计原则面向对象设计有6大原则,具体如下所述。
(1)单一职责原则(SingleResponsibilityPrinciple,SRP)一个类应该是一组相关性很高的方法和数据的封装。
(2)开闭原则(OpenClosedPrinciple,OCP)开闭原则是说模块应对扩展开放,而对修改关闭,模块应尽量在不修改原(“原”是指原来的代码)代码的情况下进行扩展。它是面向对象设计的终极目标。
(3)里氏替换原则(LiskovSubstitutionPrinciple,LSP)在调用父类的地方换成其子类也完全可以运行。面向对象语言的3大特点是封装、继承和多态。里氏替换原则依赖于继承和多态。
(4)依赖倒置原则(DependenceInversionPrinciple,DIP)
抽象不应该依赖于细节,细节应当依赖于抽象。要针对接口编程,而不是针对实现编程。高层模块不应该依赖底层模块,两者都应该依赖于抽象。
(5)接口隔离原则(InterfaceSegregationPrinciple,ISP)类不应该依赖它不需要的接口,类依赖的接口尽可能小,且每一个接口都应该是一种角色。
(6)最小知识原则(PrincipleofLeastKnowledge,PLK)一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现与调用者或者依赖者没关系,调用者或依赖者只需知道它需要的方法即可,其他的一概不用管。设计模式就是依据这些原则,来实现代码复用和增加可维护性的目的。
开发APP关于DesignPattern设计模式类别
 
设计模式分为以下3种类型。
(1)创建型模式包括单例模式、抽象工厂模式、建造者模式、工厂模式和原型模式。
(2)结构型模式包括适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式和代理模式。
(3)行为型模式包括模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式和访问者模式。
APP开发关于DesignPattern单例模式 
 
  单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。此模式适用于只创建一个对象,以避免产生多个对象消耗过多资源及只应该创建一个对象的场景。如加载图片的ImageLoad对象、线程池对象、缓存对象、网络请求对象、数据库对象、文件对象、登录状态对象、日志对象及一些公共数据对象,都可以用单例模式实现,这样也减少了静态和全局变量的使用。APP向服务器发送请求的时候,在有些界面会发送多个请求给服务器,这时如果网络或服务器端出错,会接连弹出多个提示框。这种提示框也可以使用单列模式创建,这样即使发送了多个请求,但只显示一个出错提示框,从而改善用户体验。实现单例模式的方式有饿汉和懒汉等方式,如果考虑到多线程的情况,这些方式都有不足之处,推荐使用以下方式实现。publicclassMyApplication{  privateMyApplication(){}  publicstaticMyApplicationgetInstance(){    returnMyApplicationHolder.sInstance; }  privatestaticclassMyApplicationHolder{    privatestaticfinalMyApplicationsInstance=newMyApplication();  }}第一次加载MyApplication类时,不会初始化sInstance,只有在第一次调用MyApplication的getInstance方法时,才会导致sInstance被初始化。在第一次调用getInstance方法时会加载MyApplicationHolder类,这种方式不仅能确保线程安全,也能保证单例对象的唯一性,同时也延迟了对象的实例化。好了,APP开发公司本文关于“APP开发关于设计模式(DesignPattern)的原则详解”知识就分享到这里,谢谢关注,博纳网络编辑整理。
 
 

当前文章链接:/construction/appkaifa/2356.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。