WIKI主页 作者 我的
?
 

新计划进度(二)

(6949) [仅作者]  
编辑功能已停用  词条设置
上次编辑于 2023/8/22 16:27:15
创建者Au
编辑记录(简略) 编辑记录(详细)
相关文件夹
新计划
相关推荐
au的开源软件项目计划 新计划进度(一)
表格

编程的关键点之一就是恰当的抽象程度。

“抽象”简单来说就是找到一类事物的共同点,集中起来方便管理。

网站的各处都会使用到表格,例如基础层面上的“用户列表”“群组列表”,也有用户自定义的“虚拟国家列表”“城市列表”,表格需要的功能有“浏览”,“修改行”,“新增行”,“删除行”和比较高级的“修改结构”。找到了这种共同点,就能用比较统一的方式实现表格系统。

在一般的C/S架构的程序中,数据模型都是前后端早已协商好的,例如用户有“ID,用户名,等级”三个属性,那么前端就会设计用户表格有三个列,分别对应三个属性。如果服务端新增了一个用户属性“权限”,那么前端就必须做出相应的改动,改动html新增一个列和相应的数据绑定代码。

au构思出的新版软件架构,认为前端的表格应该完全根据后端发送的数据动态生成,完全不存储任何固定的表格结构,这样就能大大减小代码量和二次开发的工作量。

虽然听起来很不靠谱,但事实胜于雄辩,au目前已经成功实现了该功能的大半部分。新版的表格可以实现查找任何列,按任何列排序,自动分页(避免带图片的大表格加载太慢)

程序不仅应该用户好用,更应该让其他开发者方便理解和修改,如果需要新增一个属性,只需要修改服务端代码即可,不需要大动干戈。

转换器

数据库的表格和前端显示的表格是两回事,不能直接显示给用户。例如“用户列表”里需要显示用户所在的组,但是不需要显示用户密码,这种情况下就需要从“用户模型”转换为“用户列表显示模型”。至于怎么转换那就需要开发者自行实现了。

如果看不懂也没有关系,根据之前的承诺,我会提供相应的保姆级教程便于自定义。

相关文件夹
新计划
相关推荐
au的开源软件项目计划 新计划进度(一)

评论区

登录后可发表评论
返回
主页

此处为旧版站,数据与新版不互通且将会被丢弃,请勿写入内容
© 2022 - Au
若作者不另外说明,本站内容由其作者保留全部所有权,未经允许请勿转载,使用及改编
友情链接   东宁要览  轨交棋 q群   本站新版(测试中) 自然地图生成器
鄂ICP备14015516号