besiness:
模块与模块间的关联就形成了besiness
besiness是核心的业务流程,页面及数据库实现的变化不会影响
besiness页面的提升,公共业务部分,因为界面是看得到的业务。
besiness是超越页面及数据库的,具有相对稳定性,不会随着界面及数据库的实现而变化。
besiness不是垃圾桶,不是数据层的代理。
单层访问还是可跨层访问,数据是集中原则,还是就近原则。
集中的好处:可逻辑服务器,单一,可简化调用,人员可更进一步细化分工,逻辑程序员与界面程序员,但如果业务(界面)不复杂,也可以不需要besiness,并且现有的web人员分工一般大功能分及专业性进行,如果太多层,可以集中借助代理简化关系。
就近的好处:易于变化,简化当前问题,但分散后不易于统一,难以管理,并对程序人员有要求,besiness的界线不清。
总结:web的应用程序是以数据库为中心的程序,到处都应该可以访问,但有解决某部分问题而采用集中原则。就近与集中相接合可能更好,并且整个调用过程并不复杂,基于最合造原则,采用集中+就近想接合的方式可能大于单一集中的方式。
常见流程:编写数据层-》编写业务层-》编写界面层
重构流程(实际流程):编写数据层-》编写界面层-》编写功能层-》业务层 (实际中业务规则很多时候都是项目快要结束的时候才整理出来)
先有对象,然后有类,最后才有接口
业务层常见是以实体为中心
好的业务层,任务为中心,或业务逻辑为中心。(可细分为公共业务、 当前角色的业务--业务安全)
六层:
客户层 运行在客户机上的表示层 js
表示层(Presentation)html aspx
控制/中介层(Controller/Mediator)cs文件
领域层(Domain)核心业务层
数据映射层(Data Mapping)entity
数据源层(Data Source):data