如果你想看看 Yii 框架的视图实现过程,请继续向下;如果你想看看胖子的碎碎念,请直接拉到文章最后;如果你只是路过,那也路过留名吧^_^。 Martin Flower 在《企业应用架构模式》中提到 MVC 模式的关键点在于两个分离:从模型中分离视图和从视图中分离控制器。视图的表现在很大程度上决定了此模式的使用,以及框架对 MVC 模式的各个层级的分离水平。 …
前端控制器 表现层的请求处理机制需要支持每个用户多个请求,我们可以以集中式或分散式的方式管理这些请求。 如果以分散的方式进行管理可能会导致如下的一些问题: 每个请求都有一个共同的操作,分散处理可能会导致代码的重复。 可能会导致视图导航和视图内容的耦合。 分散处理可能会带来更高的维护成本。 如果我们采用集中的方式进行管理,则可以对安全认证、国际化等操作统一处理…
数据源架构模式之活动记录 【活动记录的意图】 一个对象,它包装数据表或视图中某一行,封装数据库访问,并在这些数据上增加了领域逻辑。 【活动记录的适用场景】 适用于不太复杂的领域逻辑,如CRUD操作等。 【活动记录的运行机制】 对象既有数据又有行为。其使用最直接的方法,将数据访问逻辑置于领域对象中。 活动记录的本质是一个领域模型,这个领域模型中的类和基数据库中…
数据源架构模式之行数据入口 【行数据入口的意图】 充当数据源中单条记录入口的对象。每行一个实例 行数据入口提供了看起来像记录结构中记录的对象,但可以用编程语言的常规机制访问它。所有对数据源的访问细节都隐藏在这个接口之后。 【行数据入口的适用场景】 1、适用于事务脚本处理,能够很好的分离数据库访问代码,并且也很容易被不同的事务脚本重用。 【行数据入口的运行机制…
数据源架构模式之表数据入口 【表数据入口的意图】 充当到数据库表的入口的对象。一个实例处理表中的所有行。 表数据入口包含了用于访问单个表或视图的所有SQL,如CRUD等。其它的代码调用它的方法来实现所有与数据库的交互。 【表数据入口的适用场景】 1、表数据入口可以同表模块一起使用。 2、适用于事务脚本处理 【表数据入口的运行机制】 表数据入口的实现非常简单,…