如上所述,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. spring多数据源配置

    项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和hibernate的框架的 ...

  2. KAFKA分布式消息系统

    2015-01-05 大数据平台 Hadoop大数据平台 基本概念 kafka的工作方式和其他MQ基本相同,只是在一些名词命名上有些不同.为了更好的讨论,这里对这些名词做简单解释.通过这些解释应该可以 ...

  3. Error: Cannot find module 'express'

    安装Express命令如下: npm install -g express 安装成功之后会在C:\Users\[YOUR_USER_NAME]\AppData\Roaming\npm\node_mod ...

  4. Swift和OC,是编译型语言、解释性语言、运行时语言

    首先需要明确的一点是,什么是编译型语言和解释性语言 编译型语言,就是在其执行过程中需要先将其经过编译成机器码来给计算机识别的,其执行效率就会比较高这个是显而易见的,常见比如:C.C++ 而解释型语言, ...

  5. GNOME与KDE的战争

    目录1 序言2 GNOME与KDE交替发展% M" O/ h% R( b  f, ~7 W' n9 V, G3 GNOME获得商业公司的支持4 KDE3.5可实现半透明和阴影效果,界面华丽. ...

  6. STM32的SPI问题。

    问题描述: 之前一直使用的单片机是LPC2109,对其SPI很熟悉.基本就是原本拿来稍作修改就用.由于某种原因需要使用STM32,然后设备的驱动是之前写好的,只修改了一些硬件控制端口,由于硬件驱动使用 ...

  7. 一个SQL Server 2008 R2 死锁的问题解决

    问题场景:在客户那碰到一个操作卡死的现象 问题解决: 1.如何挂钩是死锁问题:通过代码跟踪,发现是指执行一个SQL语句超时,因此猜想可能是表锁住了 2.如果确认是思索问题:通过SQL发现死锁,以下是相 ...

  8. Netty4.x中文教程系列(三) ChannelHandler

    Netty4.x中文教程系列(四)  ChannelHandler 上一篇文章详细解释了Hello World示例的代码.里面涉及了一些Netty框架的基础. 这篇文章用以解释ChannelHandl ...

  9. Xcode Provisioning 路径

    ~/Library/MobileDevice/Provisioning Profiles

  10. android控件---spinner

    spinner下拉列表框的列表项有两种配置方式: 1.通过资源文件配置,通过在values种的xml,比如strings.xml中使用<string-array>元素添加制定列表项内容,然 ...