上篇已经开始了系统内部的分析,并且得到一些分析对象。在整个动作场景中,我们得到了一些粗略的对象。有必要对对象进行分析,合并,再抽象。
实质是职责的合理分配,使得系统合乎功能性,同时得到最大的可扩展,可维护性。建议用图表示,但不要忘记任务是职责分配到对象。
网站(处理连入)
连接(处理数据接收,发送)
请求处理器(对请求处理 GET POST)
请求(各种请求的抽象)
回复(各种回复的抽象)
连接检查器
这里把发送回复去除,因为这个可以归结到请求处理中。
对第二个主要用例进行健壮性分析:
U5 (由于不清楚网站怎么发布,参考了IIS,大致是下边的一个流程)
网站发布人:打开发布界面 【此命令需要一个边界对象响应 publisher】
目标系统 :显示发布界面 【控制逻辑 show】
网站发布人:填写网站配置(主目标,端口等)
确认启用网站 【边界对象 publisher】
目标系统 :启动网站 【控制逻辑 start】
开始等待浏览器连接
经过对重要的用例的分析,对系统内部的构造,有了比较清楚的认识,根据不同的服务对象及目标,将系统分成几个子构件(逻辑视图):
需要注意的是:这里不是静态的包图。而是逻辑视图,各个子系统通过接口而互相访问,从而定义了系统的整体构架。