浅谈Android App架构

一、什么是架构

什么是架构,我最初的理解,架构就是通过降低偶合性,提高安全性和扩展性,达到方便对软件进行维护的一套行之有效的分层思想。在我看来架构最主要的就是降低偶合性和提高扩展性,我们平常对于客户端的修改和重构也基本上是围绕这两个点而进行的。当然,这只是我个人的理解,为了怕自己理解太过片面,又在以下几个权威网站,看了一下他们对架构的解释:

  • 百度百科:软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
  • 维基百科:软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
  • 某位技术大牛:软件架构就是软件的基本结构。

其实总体说来,软件架构就是软件的基本结构,百度和维基说到抽象描述也基本上是这个道理。

二、特征

一个好的软件架构又基本上具备以下的特征:

  • 维护性:一个好的软件肯定是可以方便维护的,出了问题可以快速排查并修改,不会一改这个问题,又暴出另外的问题。
  • 耦合性:这个是我开发Android过程中体会最多的一个特性,开发过程中有看到一些类,同其它类的耦合性过于强,如果想改一个地方,需要考虑另一个类会不会受到影响,导致自己在做修改的时候总是提心吊胆。还有就是耦合性过强不利于快速定位问题所在,总得来说就是“做人要独立,不要过于依赖”。
  • 扩展性:一个好的架构一定是很方便扩展的,既不要因为扩展而影响到其它,也尽量不要过多从其它地儿复制出代码,如果很多地方都会用到这些代码可以封闭出一个类。
  • 。。。。。。

三、总结

当然,构架的特性还有很多,但基本上都是说大型架构的,在平常Android客户端开发中,最常用、体会最深的还是这几个特性。客户端比较常用的几个架构,比如MVC、MVP也基本是围绕“降低偶合性,提高扩展性和维护性”进行设计开发的。

猜你喜欢

转载自blog.csdn.net/haha223545/article/details/80565384