概述
- css 与html的职责
- html负责内容
- css负责布局和修饰(背景等)
所以不推荐用html布局(如表格布局)和设置颜色背景等
在软件开发中有一些是通用技能,无论从事什么项目,C、Java、前段、后台,都必须掌握的(甚至产品设计与UI设计都需要):
这些技能应当优先熟练掌握,今天聊一聊版本控制工具Git。之前一直使用的是SVN,也仅仅停留在工作中使用,甚至不会使用svn命令,只能使用SVN Tortoise,也就是拉代码,解决冲突,提交代码这三个步骤,偶尔拉一下分支(甚至都没有亲自合并过分支。。)。
前面我们分析了MVP与Clean,本文试图以Google构架Demo的Clean分支为样本来分析一下具体的代码实现。由于Clean包含了MVP部分,所以MVP的部分一并说明。
需要强调的是这并不是Clean构架的唯一实现方式,但是其思想可以借鉴。
分为三部分:
一万个人心中有十万个Clean。对Clean的理解每个人都不相同,网上也有很多很多的实现,我试图从最原始的资料出发,结合自己的理解讲解一下Clean构架。
首先,要明确的一点是Clean是一种分层架构,是一种软件系统架构模式/思想。
其他架构有:事件驱动架构、微内核架构、微服务架构、基于空间的架构。—-《软件架构模式》
这与MVP不同,MVP关注UI层(对应Clean中Presentation)的设计,更偏向与代码的设计,而Clean可以理解成一种自上而下的,全面的构架(会考虑性能等因素),更加抽象。
一万个人心中有一万个MVP,对MVP的理解千差万别,似乎也没有一个最权威的Demo来说明什么是MVP,求其是Android平台上(如果有,请告知)。至今最权威的资料可以说是这些:
关于MVP的学习路径,我推荐按照上面的顺序。微软的MVP在.Net中的应用虽然不是Java语言讲解的,但是对MVP设计思想讲解十分清晰,为什么这样设计,有哪些设计的变形,设计带来的好处与劣势都写的十分清晰。后面的几篇文章更倾向于MVP思想在Android平台上的具体应用。另外一篇国内文章Android MVP 详解(上)总结很全,可以参考。
好几周没有更新博客了,不是忘记或者偷懒,而是想写一个比较复杂的话题,MVP与Clean构架的理解,既然是理解,不深入实践,自然不敢动笔,最近会多整理一些,补一补功课。
最近研读了Google发布的一系列框架的梳理中的MVP中的源代码,又学习了一些文章,同时自己也在工作中使用了基于MVP的Clean构架开发了浏览器的文件下载模块。这篇文章主要分析遇到的问题和一些感悟,同时记录一些疑问。
学习MVP的主要内容是