现在准备重构中
现在在Screen组件中没有传入system参数,这样不太对,因为没有体现两个实体之间的联系。
下一版改为需要传入system参数,这样就能体现联系。
改为
现在状态管理比较混乱,考虑引入pinia来管理状态。 一个state,不止保存值,也要给出action。
UI和逻辑分离的不彻底
核心逻辑和其他逻辑分离的不彻底。
new System 创建的实例,这里的逻辑都应该属于kernel层。
创建出来的实例,需要传入Screen,Screen组件接收之后的显示逻辑,都属于UI层。
借此逻辑,整个项目分为三层文件夹:kernel、ui、services
kernel |- file 文件系统组件,负责文件的增删改查 |- state 状态管理 |- event 事件管理
ui |- screen 屏幕组件(暂定)比较重要,因为这个组件接收system实例,是kernel层和ui层的桥梁 |- application 存放系统内置应用 |- widgets 存放UI组件,例如按钮,输入框 |- layout 组织布局 |- shell 终端,也属于ui,tui
services 存放可供系统调用的组件 |- dialog |- tray |- menu |- notification |- window
utils