2017年9月8日 下午5:21
项目的核心代码组织形式
CBD使用配置文件,适合需要大量订制的项目,如框架
MVC适合也业务流,mvc就像一个运输道,中间运输的是数据,数据源是数据库
CBD和MVC都是一种组织代码(组织人员)的方式,只不过他们用不同的用途,没有好坏,只有适合不适合。
在数据处理传递的过程中,变更逻辑操作语言
- 上面说到了数据的处理,数据除了在服务层和控制层(公司内部)进行各种边传递边处理外,那么去了页面层(公司外部门面)如何控制呢?
- 只有真正的过程型的语言(面向对象语言)才可以方便的控制数据操作,如果通过html这种标签语言,他是无法写逻辑的,所以也就无法有效的控制页面中的数据以及其他动态的东西。
- 这时有两种解决方式。
- 一种通过jsp_php,通过这种脚本语言实现html和jsp_php的混写,至于如何处理这种混乱的情况则交给了服务器去完成。
- 还有一种方式是通过js这种脚本语言,与上面不同的是,即使他也是一种脚本语言,因为处理js的是浏览器,不是服务器,js不能实现与html的混写,他是控制html的。
- 那么,数据通过java从公司内部传出,然后交到外部页面就有两种处理方式,如果选用jsp/php这种脚本语言,则可以直接逻辑控制传来的数据,而如果是js来控制,那么由于js只能控制html,不能直接操作jsp中的数据,那么中间的过渡就是html。jsp将数据给了html,让html暂时保存,然后js从html中取出数据,然后再进行处理。
路由规则:servlet其实就是实现了一个路由规则,
然后还提供了取值方法和三个作用域对象,为了方便数据的保存。
来源:
浅谈MV*模式 - Sam君 - SegmentFault
界面之下:还原真实的MV*模式 · Issue #11 · livoras/blog · GitHub
在读的过程中我的几点疑惑以及我的解决:
- 观察者模式忘了:
- 全局搜索,找到设计模式去看我的理解
- 其实:观察者模式是策略模式的改进,但是,我们可以宽泛的将这种关系理解成雇员和雇主的关系。每一个箭头都是对象之间的代表一次调用,被调用的就是雇员,另一个就是雇主,比如说在第一类mvc中model就是雇主。
- 在说第一类MVC缺点时,view是无法复用的:
- 由于依靠雇主-雇员模式,这是一种强依赖,既然view依赖于model,那么view当然不能自己出去单干了
- 这点可以和MVP模式对比,MVP模式的优点就是view可以复用,因为view中不用调用model对象来实现功能,自己本身就是功能的实现着,只不过在MVP中提供了接口来作为一个功能开始执行的触发。从view的角度去分析,我不管谁调用我的,只要你能正确的调用我的接口就可以,那么这不就实现了复用了吗。
- 对view的理解:
- View不要仅仅的理解成平常见得html页面,其实一个system.out.print都可以算是一个view(纯java)
- 我在读这篇文章的时候,就默认view就是html界面,给我造成了很大的理解上的障碍,例如在这里view这里抽象组合为了一个js对象
- 有很多模式中关键的实现步骤,并不是作者写的,而是作者直接调用了现成的库去完成
- 我们为啥要使用这种模式去组织代码,我用jQuery就可以完成的功能
- 这个原因很多:在web中mvc模式可以实现把视图层拿出来,这样分开步骤有利于开发人员有清晰的思路,而且可以对dao层代码进行复用。像我的权限系统,就是为了能有一个良好的扩展性。还有的为的是看起来方便,有的是从性能角度等等很多很多原因