如上所述,WinForm程序通常分为四层,而WebForm程序通常分为三层。

 
举例说明,winForm程序:

 IEnumerable<BatchUpdateResult<string, HX.DHL.Common.Data.ResultSign>> rets =
CustomerFacade.InterFaceImportForDispute(pLists.ToList()).ToList();
客户端UI层使用这个方法,但这个方法定义在Service里面,其中有接口和实现层。
 public IEnumerable<BatchUpdateResult<string, HX.DHL.Common.Data.ResultSign>> InterFaceImportForDispute(List<CustomerDispute> lst)
{
using (ICustomersLogic customerLogic = new CustomersLogic())
{
return customerLogic.InterFaceImportForDispute(lst);
}
}

而真正的实现在Service中引用了Logic中的方法。可能在应用中服务和逻辑有时候也需要分开写。所以设置了两层

   public IEnumerable<BatchUpdateResult<string, ResultSign>> InterFaceImportForDispute(
List<CustomerDispute> cusdisputeList){}

Logic中关于数据库的部分又使用DAL中定义好的方法。比如插入更新之类的方法。

 
WebForm程序:
var lgdata = this.LgService.GetAllLanguages(false);

UI层使用Service的一个方法,该方法就直接在Service层中实现:

public virtual IList<Language> GetAllLanguages(bool showInactive = false)
{
var query = _languageRepository.Objects.Where(q=>!q.Deleted);
if (!showInactive)
query = query.Where(l => l.Active);
query = query.OrderBy(l => l.OrderID);
return query.ToList(); }
而涉及到数据库仓储的部分交给Reposit处理。上述的_languageRepository定义:
private readonly IIdentRepository<Language> _languageRepository;

上述的IIdentRepository<Language>继承的类中包含了最基本的对数据库的操作。

综上所述,WinForm中的DAL和WebForm中的Resposit都是关于数据库仓储的。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

(1)WinForm和WebForm的更多相关文章

  1. 通过winForm控制webForm的上传控件file的值

    文件上传是日常开发中经常遇到的,文件上传用的最多的当然是上传控件file了,一个form表单,其中有一点就是form表单的enctype属性设置为multipart/form-data,呵呵,这个在所 ...

  2. csharp:VerifyCode in winform or webform

    winform: using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...

  3. [转]WinForm和WebForm下读取app.config web.config 中邮件配置的方法

    本文转自:http://blog.csdn.net/jinbinhan/article/details/1598386 1. 在WinForm下读取 App.config中的邮件配置语句如下: Con ...

  4. c#在WinForm和WebForm中根据控件和属性名获取控件属性值

    在WinForm中开发的过程中,所有继承了Control控件,在使用多线程的时候,就需要通过一个通用的方法来设置界面上的控件的属性. delegate void DelegateSetControl( ...

  5. webbrowser 控件实现WinForm与WebForm交互

    WebBrowser 控件可以让你装载Windows Form 应用程序中的 Web 网页和其它采用浏览器的文件.可以使用webbrowser 控件将现有的web框架控制项加入至 Windows Fo ...

  6. 用winform程序来了解委托和事件

    一.浅谈委托 如果有个过winform 和webform 程序开发的小伙伴一定有个这样的感觉吧,点击Button直接就执行了那个方法,到此他是怎么实现了的呢,大家有考虑过没有? 回到正题,什么是委托呢 ...

  7. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

  8. ASP.NET Webform和ASP.NET MVC的区别

    ASP.NET WebForm ASP.NET Webform提供了一个类似于winform的事件响应GUI模型(event-driven GUI),隐藏了HTTP.HTML.JavaScript等细 ...

  9. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

随机推荐

  1. Entity Framework Power Tools安装和使用

    Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具 ...

  2. Access

    一般系统的实现: 管理系统的分析与设计 --->>数据表的设计创建 --->> 设计“查询”与“宏” --->> 创建窗体与报表 --->>系统注册 启 ...

  3. SAP如何使用关于序列号的表

  4. GitHub error “Failed to get HEAD”

    cd /要提交的文件的文件夹下    比如要提交一个名为  demo的  程序, 那么先进入demo 的文件夹里面  然后  进行以下两步 git init  (有时这个是不必要的,因为xcode 自 ...

  5. iOS点击cell查看大图,点击大图还原小图-b

    一.项目需求 用collectionView展示很多照片,点击某个照片,用全屏scrollView无限循环的方式查看图片.点击放大的图片,图片缩小到原先的尺寸. 如图gif1.gif所示,点击中间的图 ...

  6. 计划:怎样理解水平集方法 ITK Level set V4 框架介绍

    简易解释:在曲面中插入一个平面所形成的轮廓,即是该轮廓的水平集表示,可见,该轮廓的水平集表示有多个.对于图像分割,在图像力的驱动下曲面进行更新. 轮廓的数学表达有隐式和显式两种表达.用曲面演化代替Fr ...

  7. window对象的属性方法名造成的命名冲突

    事件起因: 一次开发中需要获取一个数组的长度,写下如此代码 function func(arr){ length = arr.length; ......//相关操作 } 程序在chrome下正常运行 ...

  8. AsyncTask不能同时运行多个实例解决办法

    在项目中使用AsyncTask时,发现创建的多个实例无法同时运行,比如: AsyncTask t1 = new MyTask(); AsyncTask t2 = new MyTask(); t1.ex ...

  9. For和While在C和MATLAB中的区别——MATLAB的大坑

    For和while是常见的循环关键字,在许多语言中都是通用的.但是想必不是所有人,都被其中的区别困扰过,尤其是MATLAB“程序员”. x=[,,,,,,]; i=; while i<=leng ...

  10. c++ switch case

    http://www.cnblogs.com/RealOnlyme/articles/2579628.html