三层架构vb.net 三层架构是什么( 三 )


普通三层:数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分 。业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标 。表示层UI:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理 。业务实体Model:用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象 。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展 , 增强灵活性 。通用类库Common:通用的辅助工具类
工程模式:简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例 。
工厂角色(Creator)
是简单工厂模式的核心,它负责实现创建所有具体产品类的实例 。工厂类可以被外界直接调用 , 创建所需的产品对象 。
抽象产品角色(Product)
是所有具体产品角色的父类,它负责描述所有实例所共有的公共接口 。
具体产品角色(Concrete Product)
继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标 。工厂类返回的都是该角色的某一具体产品 。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通 讯与中间层建立连接,再经由中间层与数据库进行交换.
完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说.不同的应用有不同的理解 , 这是一个概念的问题.
MVC系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作 。模型是你所有的商业逻辑代码片段所在 。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从ProcessBase类派生的子类 。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应 。业务实体对象可以通过定义属性描述客户端表单数据 。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互 。通过业务实体对象实现了对视图和模型之间交互的支持 。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离 。这样可以实现业务逻辑的重用 。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例 。
MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分 。同样是架构级别的,相同的地方在于三层架构vb.net他们都有一个表现层,但是他们不同的地方在于其他的两个层 。在三层架构中没有定义Controller的概念 。这是我认为最不同的地方 。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别 。当然了 。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里 , 则是由业务逻辑与访问数据组成的 。
在ASP NET中的MVC架构编写的,具有极其良好的可扩展性 。它可以轻松实现以下功能:①实现一个模型的多个视图;②采用多个控制器;③当模型改变时 , 所有视图将自动刷新;④所有的控制器将相互独立工作 。这就是MVC架构的好处,只需在以前的程序上稍作修改或增加新的类 , 即可轻松增加许多程序功能 。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率 。下面讨论如何实现一个模型、两个视图和一个控制器的程序 。其中模型类及视图类根本不需要改变,与前面的完全一样 , 这就是面向对象编程的好处 。对于控制器中的类,只需要增加另一个视图,并与模型发生关联即可 。该模式下视图、控制器、模型三者之间的示意图如图2所示 。同样也可以实现其它形式的MVC例如:一个模型、两个视图和两个控制器 。从上面可以看出,通过MVC架构实现的应用程序具有极其良好的可扩展性,是ASP NET面向对象编程的未来方向 。