职责分层
- 控件(Widget)层:实现具体绘制的 GUI 代码
- 内容(Content)层:描述一个内容,不涉及具体控件和排版,大致描述界面的内容,以便实现基本控件框架的复用
- 数据(Data)层:用于维护与界面有关的数据,隔离具体的数据操作代码,以便于实现多数据来源的共用
想设计相对独立的 GUI 功能,该怎么做
架构不对这方面实现做具体的限制,理论上可以直接申请一个 Window 然后直接开始写代码,但是本架构鼓励职责分离,且 Editor 和具体使用的 GUI 实现并不一定在同一 Module,因此在书写编辑器代码的时候可能无法直接绘制 GUI。
这样的设计可能会稍显拗口,但是能最大化的防止 GUI 与业务的耦合,因此,对某个内容添加自定义的 GUI 内容的工作步骤如下
- 在当前模块中书写 ContentLayer 的接口,抽象内容表示
- 在另一个模块中书写 Widget 相关的接口,对刚刚书写的内容予以展示
- 如果有需要,最好实现 DataLayer 的接口方便对数据来源进行隔离
API 设计
职责分层
想设计相对独立的 GUI 功能,该怎么做
架构不对这方面实现做具体的限制,理论上可以直接申请一个 Window 然后直接开始写代码,但是本架构鼓励职责分离,且 Editor 和具体使用的 GUI 实现并不一定在同一 Module,因此在书写编辑器代码的时候可能无法直接绘制 GUI。
这样的设计可能会稍显拗口,但是能最大化的防止 GUI 与业务的耦合,因此,对某个内容添加自定义的 GUI 内容的工作步骤如下
API 设计