架构蓝图--软件架构 "4+1" 视图模型 本文基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型.使用多重视图允许独立地处理各"风险承担人":最终用户.开发人员.系统 工程师.项目经理等所关注的问题,并且能够独立地处理功能性和非功能性需求.本文分别对五种视图进行了描述,并同时给出了捕获每种视图的表示方法.这些视 图使用以架构为中心的.场景驱动以及迭代开发过程来进行设计. 1 评论 Philippe Kruchten, 高级技术专员 2005 年 1 月…
引言 我们已经看到在许多文章和书籍中,作者欲使用单张视图来捕捉所有的系统架构要点.通过仔细地观察这 些图例中的方框和箭头,不难发现作者努力地在单一视图中表达超过其表达限度的蓝图.方框是代表运行的程序吗?或者是代表源代码的程序块吗?或是物理计算机 吗?或仅仅是逻辑功能的分组吗?箭头是表示编译时的依赖关系吗?或者是控制流吗?或是数据流吗?通常它代表了许多事物.是否架构只需要单个的架构样式?有 时软件架构的缺陷源于过早地划分软件或过分的强调软件开发的单个方面:数据工程.运行效率.开发策略和团队组织等.…
1995年,Philippe Kruchten在<IEEE Software>上发表了题为<The 4+1 View Model of Architecture>的论文,引起了业界的极大关注. 论文原文:http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf 翻译:http://www.ibm.com/developerworks/cn/rational/r-4p1-view/ 引言 我们已经看到在…
本系列将使用zTree来创建.编辑关于品牌.车系.车型的无限级分类,使用datagrid显示,源码在github.先上最终效果: datagrid显示所有记录.分页,提供添加.修改.删除按钮,并提供简单搜索: 创建分类,弹出模态窗口,zTree显示所有分类,点击勾选按钮或节点,所选节点名称显示到文本框: 提供客户端和服务端验证,验证不通过显示出错信息: 修改分类,弹出模态窗口,zTree显示当前选中的节点名称: 创建数据模型并生成到数据库 →创建CarModel.edmx,创建模型,无限级分类的…
企业架构与建模之Archimate视图和视角 3. ArchiMate的视角与视图 创建.维护一个企业架构是一件非常复杂繁琐的事情,因为这项工作需要面对许多背景.利益各异的干系人,对他们所关注的问题进行解答,并能够在他们之间形成无障碍的沟通流.为了简化这个问题的复杂度,各种企业架构框架从各个方面对企业架构的建设提供了帮助和指导.虽然这些架构框架就其具体内容来讲差异性较大,但是无论哪一种框架对于企业架构的内容却都有着自己的一套定义和分类方法,不过也正是这些分类明确.条理清晰的分类方法却使得各种企业…
背景 数据模型.领域模型和视图模型是“模型”的三种角色,一些架构用一种类型表示这三种角色,如:传统三层架构.也有一些架构用两种类型表示这三种角色,如:结合ORM的领域驱动架构.非常少见的场景是用三种类型表示这三种角色,我只在个别领域这么弄过,如:工作流引擎. 今天只说一个话题:是否有必要为视图模型引入独立的类型?还是用一种类型表达领域模型和视图模型这两种角色比较方便?引入一些词汇: A方案:用一种类型表达领域模型和视图模型这两种角色,又叫公开领域模型到视图(Open Domain To View…
Model-View-Controller(模型-视图-控制器,MVC)模式将你的软件组织并分解成三个截然不同的角色: Model 封装了你的应用数据.应用流程和业务逻辑. View 从 Model 获取数据并格式化数据以进行显示. Controller 控制程序流程,接收输入,并把它们传递给 Model 和 View. 与其它设计模式不同,MVC 模式并没有直接反映一个你能够编写或配置的类结构.相反,MVC 更像一个概念上的指导原则或范型.概念上的 MVC 模式被描述为三个对象 —— Mode…
当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型实在是太麻烦了,因此也出现了基于SmartBag等折衷方案.强类型是一种极端方案,而在C# 4.0中我们又可以使用另一个极端,那就是让Model成为dynamic类型,这样在视图中便可以完全自由地获取数据了.不过,在使用匿名对象的情况下视图会抛出奇怪的"无法找到成员"异常,我们必须解决这个…
数据监控 KO的三个内置核心功能: 监控(Observable)和依赖性跟踪(dependency tracking) 声明绑定(Declarative bindings) 模板(Templating) 在这个页面上,您将了解三种核心功能的第一种.但在此之前,让我们来看看MVVM模式的概念和视图模型的概念. MVVM模式和视图模型 模型-视图-视图模型(MVVM)是用于构建用户界面的设计模式.它描述了如何将复杂的UI分割成三个部分: 模型:应用程序所存储的数据.这个数据代表了你的业务领域对象和操…
使用视图模型查询的时候 结果是这样的 array(6) { [0] => array(5) { ["picTitle"] => string(7) "标题2" ["picCategroy"] => string(6) "海报" ["picAuthor"] => string(12) "星耀学园" ["picPostTime"] => st…