zoukankan      html  css  js  c++  java
  • 基于NBear的Domain层设计

    NBear是Teddy开发的快速开发框架,在之前的5个示例中,主要演示了主要的框架功能和业务领域模型不太复杂情形下忽略领域层的应用范例。但是,当业务模型相对复杂,单纯基于简单实体的强类型数据访问接口,可能就会使得太多的业务逻辑被分散到service或facade层,此时,我们就最好加一层独立的业务领域模型层来封装实体和强类型接口的使用。本文为您演示基于NBear v1.6.0中新增的NBear.Domain的领域模型设计示例。

    下载源码及示例

    您可以从这里下载NBear最新版本及Sample6源码

    NBear.Domain

    NBear.Domain主要为您提供了基类DomainModel和GuidKeyDomainModel,前者用于采用自增长ID主键的实体,后者用于采用Guid主键的实体。只需将他们作为你的领域类的基类,它就能提供最基本的领域类需要的CRUD等功能(包括Save, Delete, Find, FindAll等),您可以方便的以此为基础进行扩展。

    DomainModel.cs

    示例

    首先,还是需要用NBear.Tools.EntityGen生成实体,这里的数据库还是采用的之前的示例Sample2中的数据库TestRelation.mdb。

    Entities.cs

    接着就能定义领域模型了,只需简单的继承DomainModel,你的类就拥有了基本的CURD接口,如下面的Message类,你也可以扩展你的类,为你的领域类扩充复杂的领域功能,使用OneToMany类,操作与当前类关联的其他实体也非常便利,如这里的Group和User类。

    Domains.cs

    ok,领域模型定义完了,下面就可以方便的使用以上类了:

    Usage.cs
  • 相关阅读:
    一起谈.NET技术,深入ASP.NET 2.0的提供者模型(2) 狼人:
    一起谈.NET技术,从.NET中委托写法的演变谈开去(上):委托与匿名方法 狼人:
    一起谈.NET技术,将Flash 嵌入WPF 程序 狼人:
    一起谈.NET技术,数组排序方法的性能比较(中):Array.Sort<T> 实现分析 狼人:
    人一生当中最应该珍惜的十种人
    《程序员的第一年》复习一下C#的【封装 多态 继承 简单计算器源码实例】
    myeclipse 修改模板
    三星将在百思买零售店内开设1400家体验店
    谷歌Q3推Android本 蚕食自己平板市场
    Spring Setting
  • 原文地址:https://www.cnblogs.com/teddyma/p/393057.html
Copyright © 2011-2022 走看看