第二部分 architect 2004 technical section
第十一集用户界面技术。
user interface components
用户和应用进行交互的接口。
输入:辅助用户输入,提供各种提示和帮助;相应用户操作所触发的各种事件;限制用户的输入;处理一些特殊的操作,如drag-drop,剪贴板操作。
展现:格式化数据;特殊显示;将一些**翻译成显示的名称;其他(的页面cache、分页显示查询结果)
从ui的应用类型划分。
console, winform, webform, plug-ins
与表现层的相关内容。
如同一般的系统设计,表现层也需要一整套支撑模块(配置管理、cache管理、本地存储、状态管理)
表现层的设计模式。
搭建ui的框架。
框架。 一整套能够动态配置和加载的插件模型(启动时的加载项、动态的菜单项、工具栏,uip组件,提供一个contoller,能够管理ui与ui之间的调用)
一整套为各程序模块所使用的工具(上下文对象:用户信息、权限信息;访问service的公共入口:集成认证; 客户端的cache:业务数据、metadata、用户凭证)
应用程序的入口和框架之间关系。
浏览器:可能是第一个引用的control(assenbly)
winform应用:登录窗口、主窗口、splash窗口、trayicon
选择你的窗口应用类型:dialog、sdi、mdi
ui与ui之间的调用。
winform应用。
form与form之间、form 与control之间、control 与control之间。
浏览器应用。
页面与页面之间、页面与其他浏览器之间、页面中的不同部分之间。
尽可能不要将ui与ui之间调用的**写在ui components的**当中。
由专门的controller来完成ui的加载。
尽可能保证ui components的重用性。
user interface process是什么。
根据状态的改变决定使用哪一个ui
应用场景。 有些ui之间的相互作用时,存在明确的处理顺序。
这些类型的界面操作的特点:用户的操作流程可以用一张流程图描述;导航图上每一个节点就是一个用户界面;界面之间的跳转是由用户操作触发的。
处理这种流程的控制器,我们称为user interface process components
隔离了ui与业务逻辑层。
对流程的ui进行了管理。
提供了状态保存和传递的机制。
购书流程图。
microsoft user interface process building block-view controller和state
uip设计接口。
uip components需要考虑的问题。
其它需要考虑的问题。
如何将控制流程和窗口、页面等界面元素分开。
流程的每一步都需要保存状态。如何能抽象出一个统一的状态模型,可以使状态在流转过程中被保存和传递。
最好能够用一套处理机制,能够满足winform程序和web应用的需要。
用户的在一个操作流程中可能会嵌套子流程,或者会转到别的流程。
记录流程的流转的日志。
流程的为害。
流程改变对正在运行的流程的影响。
能否通过某种特殊手段改变流程的状态。
microsoft user interface process building block
uipb用一种xml格式来表现流程图。
在uipb中,会用一些接口/类来表示图中的内容。
itask,用来表示整个流程。
iview, 用来表示图中的(节点)界面。
state,表示界面的状态。例如购物车中的书名和数量。
controllerbase,控制界面之间的跳转、控制task的启动和结束。
microsoft user interface process building block的设计模式。
uipb采用了mvc模式。
views,任何实现了iview接口的类。
model,state类,它保存的是界面上的信息以及控制信息。
controller,就是controllerbase及其派生类。
microsoft user interface process building block的其他功能。
保存状态:定义了istatepersistence接口,应用可以自己定义自己的状态保存方式。
winformview,webformview:实现了iview接口。
viewmanager:管理在流程**现的view
uip config:读取应用程序配置文件信息,根据配置文件构造相应对象和流程图。
uip manager:uip的入口,启动一个新的流程或已知的流程。
定制导航图。
microsoft user interface process building block类交互图。
第十二集 web应用与的基本知识。
web应用的基本知识。
浏览器和web server是如何通过http协议通信。
处理客户端请求的逻辑。
在页面处理的对象模型。
了解你的客户端-浏览器。
对浏览器的知识准备。
处理客户端请求的模式。
处理可户端请求的模式。
处理客户端请求的模式。
中通过页面与**的分离,实现了mvc模式。
其中页面中的html以及**中生成html的部分构成了试图(view)
page_load和button的click事件实际上是控制器(controller,page controller)
而数据访问部分可以看作是模型(model)
可能面临的需求变更问题。
某些页面需要增加权限控制。
为了提高性能,某些内容可能需要做cache
为了性能分析,需要计算出每一个页面的处理时间。
需要给某些页面访问记录日志,便于事后统计分析。
为了满足自动测试的需要,最后使业务逻辑错误能够体现在http的返回头当中。
的request处理过程。
的request处理过程。
isapi filter(aspnet_将页面请求传递给 (httpruntime )
httpruntime根据被请求的页面所在的路径,决定是哪一个应用,然后为此应用建立一个httpapplication对象。
通常只有一个的处理进程(
其内部通过将不同的应用划分为不同的applicationg domain
处理每一次请求,都会提供一个httpapplication对象的实例。
的request处理过程。
http modules
http modules是一组过滤器,系统缺省安装了如下http modules:
outputcache, session, windowsauthentication, formsauthentication, passportauthentication, urlauthentication, fileauthentication, defaultauthentication
http modules
每一个http modules必须实现接口ihttpmodule
接口很简单,但是在init方法中,通常需要handle httpapplication对象的事件。
http handlers
http modules仅仅是一个过滤器,而http handlers才是真正处理request,返回response的处理点。
我们最常用的类-page
public class page:templatecontrol, ihttphandler
page类的侧重点在于页面的展现和分析客户端提交的数据,以生成服务端的事件。
回到mvc模式。
没有ui处理的简单handler
定制一个简单handler(ashx)文件,处理文档**等功能,可以通过对文件的修改,将某些类型的文件访问重定向指定的handler
有一种操作类型。
如何实现这种控制器。
用pagecontroller显然不太合适(没有ui处理)
可以通过一种httphandler来实现这种控制器(frontcontroller)
frontcontroller目的不处理任何ui操作,如果需要将页面转向不同的pagecontroller
的基本模式-fornt
的基本模式-fornt
front controller分析。
优点: 提高了灵活性,命令处理和页面展现进一步分开。
修改httphandler的概率很小,仅扩展icommand的实现类即可。
可以单独测试icommand的各种实现类,但是要依赖于。
缺点。 实现复杂。
使用redirect会使性能有一点降低,而又存在着当前页面上下文的问题。
第十三集 web应用与的基本知识。
关于页面cache的一点点补充。
实现页面的cache,仅需要一句话。
页面的cache依赖于http1.1协议(需要客户端支持)
cache到底保存在**(客户端、服务器、**服务器)
cache的有效条件(过期时间)
一个页面的cache的版本(可以根据request中的请求参数或http header的不同保存不同的版本)
页面cache也可以通过程序实现(属性,实际上指向了httpcachepolicy类实例)
server cache的http请求和响应。
public cache 的http请求和响应。
状态保存。我们要确定需要保存什么样的状态。
需要保存的状态是客户端、还是服务器端。
如果在服务器,状态全局的,还是局部的。
状态是否有效期。
关闭浏览器以后,状态是否还需要保存。
状态数据有没有可能在网络上传输,传输过程中是否需要加密、是否防篡改。
web开发中的状态实现。
application 和session
cachecookie
viewsatate
客户端的状态保存。
frame中的隐藏域、ie的persistence技术。
客户端的状态保存。
状态需要在各页面上传递,关闭浏览器或离开应用时状态必须失效。
可以利用frame和iframe技术。
典型的应用,实现一个wizard应用。
关闭页面以后,也需要保存状态。
可以利用ie的persistence技术。
K妈讲座笔记
目录 1一 概述 2 二 地板时光 2 三 问答 7 四 replay 8 五 rdi 10 六 rdi如何做游戏 从低到高 13 七 comic strip 14 八 关于语言 16 九 感统 16 十 生物 概述 老虎妈 19 十。一 生物 概述 20 十。二 清洁环境 22 十。三 禁食 22...
oracle学习笔记 2
学习笔记 2 终于搞清楚那个是企业管理器 oem oracle enterprise manager sqlplus 可以在命令行,也可以在ie浏览器中。sys只能以sysdba的身份登陆。数据库的启动 startup的过程 启动实例,打开控制文件,打开数据文件。关闭数据库。shutdown 正常关...
C 11学习笔记 2
头文件不应该包含using声明,防止名字冲突。string 定义在命名空间std中。初始化string对象方式 string s1 string s2 s1 string s2 s1 string s3 value string s3 value string s4 n,c s4初始化成由n个字符c...