在讲解架构设计之前,先讲解一下设计模式的六大原则,虽然是设计模式的六大原则,但我们在进行架构设计的时候也应该尽量遵循这些原则;
六大原则如果仅看概念会比较抽象,而且也不容易理解。这里我们举一个生活中的例子:汽车是基类;轿车是汽车的一个子类;汽车都是在路上跑的,所以我们把公路抽象成一个接口,让汽车实现此接口;汽车都可以用来载人,所以我们把人抽象成一个接口,让汽车实现此接口;汽车也可以载鸡鸭鱼,不过需要通过人来携带上去,因此把鸡鸭鱼放入人的接口中;
下面对每一个原则给处官方解释,然后结合汽车这个例子去理解;
1、单一职责原则
就一个类而言,应该仅有一个引起它变化的原因;
这里我们设计的汽车类就符合单一职责,它的单一职责就是在路上跑;
2、开放封闭原则
类、模块、函数应该是可以扩展的,但不可修改;
这里我们对汽车就是采取的开放封闭原则,轿车通过继承汽车扩展功能,并且没有修改基类汽车;
3、依赖倒置原则
高层模块不应依赖底层模块,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象;
本例中我们的汽车类是实现了公路接口,也就是依赖于抽象;公路接口就是一个抽象;
4、接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上;
我们这里汽车实现了公路和人两个接口,每个接口都负责特有的方面,即接口隔离;
5、里氏替换原则
所有引用基类的地方必须能透明的使用其子类的对象;
本例中所有需要汽车的地方,传入轿车也没有问题;但是需要轿车的地方就不能传入汽车;
6、迪米特原则
一个软件实体应当尽可能少的与其他实体发生作用;
本例中我们的汽车可以载鸡鸭鱼,但是鸡鸭鱼需要通过人来携带,因此我们并没有为鸡鸭鱼单独抽象出接口,而是将其放入人的接口中,汽车也就尽可能少的与其他实体发生作用;
二、架构介绍
如果我们在进行开发时不使用架构思想,那么所有的代码会一股脑的放在activity或者fragment中,业务需求复杂多变,并且需要经常去修改;数据、视图、逻辑都放在一起会显得混乱,维护起来及其困难,出现错误很难排查;介绍三大架构之前先介绍一下几个概念;
数据model:数据包括数据本身以及对数据操作的逻辑,数据本身独有的操作逻辑,不牵扯视图;
视图view:不同的架构模式view代表的部分也不相同,下面单独介绍;
控制逻辑:不同的架构模式控制部分也不相同;
1、MVC
mvc模式下的view主要是指xml文件和activity中与视图相关联的部分,例如findViewById等操作;而mvc模式中的c是指controller,其实也就是activity或者fragment,在activity中进行逻辑的控制,让数据和视图进行交互;
最后
我这里整理了一份完整的学习思维以及Android开发知识大全PDF。
当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!