vb.net 软件7层设计的含义

不仅仅适用于Vb.net

UI层,外观层(Facade),BLL层(业务逻辑层Business Logic Layer),DAL数据访问层,工厂层(Factory),实体层(Entity),接口层(IDAL)

之所以软件采用7层如此设计,个人理解方便于更改数据库或者作为移植,增强代码可读性,提高代码运行效率,而不用更改整个软件系统!
专业术语理解:分层是为了实现“高内聚,低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源

个人理解,可能有瑕疵!欢迎指证,某些片段来源于互联网,若觉得有侵犯,请联系本人删除!

1.UI层,UI即User Interface(用户界面)的简称

个人理解即交互层,软件界面,这个不用多说,就是展示给用户的实际交互的界面,可以是web,也可以是winform,或者wpf,甚至是不显示的控制台,或者是手机的交互界面。界面设计博大精深,这个就不用累述了!

2.外观层(Facade)

大饭店接待员不需要知道饭店内部的复杂的各种联系
举例大饭店的实际运营来说,我的理解就是酒店的接待员,在整个实体饭店系统提供一个接单员的功能,饭店接待员不需要知道饭店菜的制作流程,比如采购付款库存,这些!他只需要知道目前饭店的接待能力,是否有空位,是否客满,回到软件层面,就是收到一个信号,然后把收到信号,反馈给下一级别!目前有空位,顾客就进入饭店用餐,没有空位,顾客就在饭店外排队等候或者离开!这样理解是不是提升了整个酒店的运行效率,而不用估计进入饭店才知道有没有空位,需要等多长时间!回到软件就是实际增强了软件的运行效率,把不符合要求的请求尽早排除!比如简化到一个网上商城系统,客户抢购库存100件商品,多个顾客抢购,提出购买需求,100件以内的抢购有效,抢购后直接进入结算流程,第101件抢购无效就直接不进入结算!!!在外观层就是给出一个判断,顾客购买的是100件以内的还是以外的。当然外观层也不是软件必备的层,通过UI层也可以完全直接接入B层,比如对用户登录系统,通过UI直接到BLL层,也是可以的。
## 小饭店也不需要接待员比如面馆之类的小店顾客直接进店消费

3.BLL层(业务逻辑层Business Logic Layer)

专业解释:业务逻辑层负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。对所输入的逻辑性数据的正确性及有效性负责,但对输出的逻辑性数据及用户性数据的正确性不负责,对数据的呈现样式不负责。

在拿打饭店举例子,客户进来坐下后就要点菜,根据饭店菜单,客户点菜,点菜完毕,餐厅接待员将顾客菜单提供给后厨(即工厂层Factory),餐厅接待不需要知道后厨时候能生产出顾客的需求,只是将顾客确认的菜单传递给后厨。转回软件层面,就是了解客户此时的需求,将需求传递给后台。

4.DAL数据访问层(Indirect Data Address List)

非官方解释就是负责数据库的访问。简单地说就是实现对数据表的Select(查询)、Insert(插入)、Update(更新)、Delete(删除)等操作

个人理解就是饭店根据顾客的点单去仓库中匹配是否有足够的原材料去制作客户的商品。比如顾客点了大盘鸡,那么饭店的库存里面是否有鸡肉。就要去饭店库房查询!没有就通知采购去买,有就直接从仓库领出来,然后更新仓库库存,便于下一次再查询!拿到软件层面来说就是,对于软件数据的查询,插入,更新,删除等操作!比如SQL,ACCESS,MYSQL,sqllite等数据库。sqlhelp

5.工厂层(Factory)

个人理解工厂层,就是对于饭店的后厨模式,是采用承包制,还是自营式样,还是什么经营模式!!
简而言之就是软件后台数据库是采用那种数据模式,一般程序员只采用自己熟悉的数据库,话说哪个程序员会去用自己不熟悉的数据库了。那么问题就是在于数据库的可移植性,这是我的理解,不是很全面,欢迎指导!

6.实体层(Entity)

实体对象实际上是对应着数据库里的每张表的,我们把表里的字段封装在1个实体对象里 当你想用哪个字段 你就就通过该实体对象的get() set() 把那个字段提取出来 这比你临时创建1个变量要灵活的多 而且便于程序的维护和扩展.在实际的3层结构开发中,专门有个实体层,他的作用就是便于层和层之间的数据传递。就是将你想要的数据进行封装为实体类,然后便于你自己取用
想对于饭店,实体层就是各种库存的实体化,比如库存鸡,是什么鸡,是活的还是冷冻的!

有多少个表就有多少实体类,实体类只会多于表的数量!一个表映射出一个实体类,表中的字段就是实体类的属性!

7.接口层(IDAL)

IDAL层,作为DAL层必须实现的接口。有了约束,这样DAL层跟BLL层的实现就可以同时进行而彼此不会纠缠在一块,高内聚、低耦合。逻辑简单清晰,分工协作,效率高些
就是饭店的各种流程和规范,不知道这种理解对不对!
这个层我理解就是设计软件的各种应用规范!
(本人有待加强理解)

**以上就是本人对7层软件设计的浅显理解,欢迎各位探讨!
**vb.net 软件7层设计的含义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值