架构设计
Kiven_Android
生活不是眼前的苟且, 还有诗和远方
展开
-
细谈MVP架构模式
什么是MVP架构?:MVP就是Model-View-Presenter,MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Cont原创 2017-02-08 21:16:46 · 2753 阅读 · 1 评论 -
架构设计七之解释器模式、模板模式、观察者模式
前言 这篇博客继续学习解释器、模板、观察者三种模式。解释器模式 解释器是一种用的比较少的行为模式,其提供了一种解释语言的语法,或者表达式的方式。该模式定义了一个表达式的接口。使用场景使用场景最为频繁的就是手机号码验证移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188联通:130、131、132、152、原创 2017-05-09 12:12:52 · 410 阅读 · 0 评论 -
架构设计六之命令模式
前言 定义:将请求封装成一个对象,从而让用户使用不同的请求吧客户端参数化。请求排队或者记录请求日志,以及支持可撤销的操作。模式的使用场景 1. 系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。 2. 系统需要在不同的时间指定请求、将请求排队和执行请求。 3. 系统需要支持命令的撤销(Undo)操作和恢复(Redo)原创 2017-05-08 09:50:22 · 515 阅读 · 0 评论 -
架构设计五之建造者模式和责任链模式
前言 建造者模式在设计模式中还算是一个用的比较多的设计模式,建造者设计模式的核心在于隐藏内部构建细节,通过外部的Builder来实现构建。Builder负责Product类对象的具体过程构建,Director负责指导Build,要求Builder按照其指定的顺序去完成Produt的构造。最后通过Builder返回建造后的结果。标准建造者模式/** * 建造者角色 * 工人接口,定义原创 2017-05-07 14:22:00 · 1695 阅读 · 0 评论 -
架构设计四之面向切面编程
前言 大家都知道OOP,它是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成(百度百科)。 OP和AOP是什么关系呢?在OOP的世界中,问题或者功能都被划分到一个一个的模块里边。每个模块专心干自己的事情,模块之间通过设计好的接口交互。从图示来看,OOP世界中,最常见的表示比如:上面的图为Android Framework中的模块图,原创 2017-05-06 12:28:49 · 468 阅读 · 0 评论 -
架构设计三之app应用的启动过程分析
前言首先说一下看源码的方式,首先明确看源码的目的是为了更好的指导上层开发。 看android的系统源码,重要的是理解整体的执行流程, 不要纠结于代码细节。太纠结于代码细节, 对指导上层开发并没有指导意义。从入口main()到Applicaiton的onCreate()方法被调用ActivityThread提供两个核心内部类 ApplicationThread和 Hpublic final clas转载 2017-05-05 19:29:29 · 370 阅读 · 0 评论 -
架构设计二之原型模式、单例模式
前言 上篇文章介绍了简单工厂模式、工厂方法模式以及抽象工厂模式,接下来就继续学习原型模式与单例模式:模式1、原型模式: 原型模式之前在Java设计模式的板块也讲过,这里再拿出来讲一下:原型模式属于创建型模式,用原型的实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。通俗的意思:复制一个一模一样的对象出来。目的是为了保护最原始的那一份存档,隐藏复制过程。具体的实现过原创 2017-05-05 16:43:32 · 457 阅读 · 0 评论 -
架构设计一之简单工厂、工厂方法模式
前言 今天开始正式步入了架构设计的学习海洋,架构设计更多的是站一个设计者的角度去看待问题,比如说一个三方框架,它其中肯定是用了很多设计模式,当设计者在最出设计的时候总会去考虑到代码的安全性,模块间的耦合度不能太高,当然上面也只是我个人的理解。 学习架构方面的知识之前,我们得会去画UML图,因为当代码结构变复杂后,没有一个清楚的设计图,过段时间哪怕是设计者都会不清楚当时自原创 2017-05-05 12:35:46 · 537 阅读 · 0 评论 -
架构设计九之策略模式、迭代器模式
前言 这篇博客介绍策略模式以及迭代器模式策略模式定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式让算法独立于使它的客户独立而变化角色 环境(Context)角色: 持有一个Strategy的引用 抽象策略(Strategy)角色 这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的原创 2017-05-11 19:41:30 · 689 阅读 · 0 评论 -
MVP+Retrofit+RxAndroid实例
概述:MVP+Retrofit+RxJava这样的架构,目前在很多项目中都在使用,相信很多工程师已经开始使用了,这里我来总结下,以便于以后自己在开发中使用。Retrofit:用来解决M的RestApi数据获取, 天然支持Rxjava。RxJava: 这就不用多说了,很多的博客讲了该概念,本人博客中也有该内容,可以自行查看。MVP: 请看这篇文章《细谈MVP架构模式》原创 2017-02-13 23:31:57 · 600 阅读 · 0 评论 -
架构设计八之状态模式
前言 这篇博客继续学习状态模式。定义 当一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。又称状态对象模式,状态模式是对象的行为模式。角色 环境(Context)角色 上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个定义了对象的当前状态 抽象状态(State)角色 定义一个接口,用以封装原创 2017-05-10 15:38:36 · 402 阅读 · 0 评论