面向对象的方法主要是把事物给对象化,包括其属性和行为。面向对象编程更贴近实际生活的思想。总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象(万物皆对象)。
开源字节系统,充分考虑到企业治理上的特点,充分关注统一性与个性化的矛盾统一,借鉴了金融行业的机构模式,系统化的设计了组织机构树、权限节点树、人员角色树等具有丰富张力的系统底层治理结构。利用面向对象设计理念,对于所有对象/模块/功能,充分进行面向对象分析。
1、数据对象
数据集中存放和管理,所有数据在行的级别,均包含关键属性,以对应到相应的组织机构以及权限节点。在数据访问控制上,参照访问发起方的权限,引入过滤器,筛选出相应节点,或者相应子节点/子树上的数据,做到了数据的安全隔离;同时,对于集中的数据中不同组织需要独立的数据,通过设置不同的组织机构属性予以区分,这样既保证了数据的一致性,也保留了数据的特色性;
2、后台业务模块
后台基于Spring技术开发的业务逻辑模块,完全按照面向对象的思想进行派生。上级机构的功能模块,通过继承性,可以完全被下级机构所继承使用;同时,下级机构可以对于有特色需求的功能,可以以重写的方式覆盖上级机构的逻辑;当然,为了保持一致性,上级机构也可以明确哪些逻辑是处于保护状态的,这样下级机构则无法进行重写;
3、前台功能页面
在UI方面,也充分利用面向对象设计思想,把页面与组织机构树、人员角色树进行对应。每一个标准化的页面,均可以对应相应的组织属性,被下级组织重用;同时,下级组织可以在上级组织发布的功能页面添加定义自己的逻辑功能。