你在这里。看看这个问题与其他知识怎样相连。
选择节点前往页面 · 展开后可留在地图中阅读
一个问题
独立的部分怎样才能组合?
兼容的资源地址和操作,让不同部分无需共享全部实现细节也能协作。
一个视图可以使用别处提供的资源,多份视图也可以使用同一个可操作对象。参与者对含义、效果和访问权限有共同约定时,不同部分之间的连接才有价值。
统一命名空间帮助连接这些部分,但不会独自解决冲突更新、过期数据、版本变化或授权。这些仍是边界处需要完成的设计工作。
检验稳定性可以问一个具体问题:更换模型、Provider 或把界面描述画出来的渲染器时,哪些使用者必须跟着改,为什么?这个答案可以同时指导实现与评估。
一份报告,两个使用者
假设报告页面从示例地址 /reports/weekly 读取内容,另一个摘要工具也读取同一资源。页面不需要知道工具怎样组织提示词,工具也不需要知道页面采用几栏布局;它们都依赖“这个地址返回什么”的约定。
如果要在页面中加入“提交审阅”,可以再连接应用已经提供的动作。此时组合的不只是标题、正文和按钮,还包括报告资源、提交动作以及调用它的权限。把三个视觉组件摆在一起,只完成了呈现;让它们对同一报告正确工作,才完成了这个例子的业务组合。
这个例子说明组合的价值:页面、工具和资源实现可以分别变化,各自保留需要共同遵守的边界。