崔莺莺要明媒正娶,张生你怎么看?

简介:   话说张生和崔莺莺历经波折,最后有情人终成眷属。但是生活中的人都是现实的,即使男人再好没房没车也白搭;所以最后崔莺莺就要求张生准备一份聘礼,如果准备的聘礼符合自己的要求,就嫁给张生;如果聘礼不和自己的心意,就出家削发为尼,一辈子不谈婚事!以此为故事背景今天就谈一下三层的学习。

  话说张生和崔莺莺历经波折,最后有情人终成眷属。但是生活中的人都是现实的,即使男人再好没房没车也白搭;所以最后崔莺莺就要求张生准备一份聘礼,如果准备的聘礼符合自己的要求,就嫁给张生;如果聘礼不和自己的心意,就出家削发为尼,一辈子不谈婚事!以此为故事背景今天就谈一下三层的学习。

  崔莺莺想要明媒正娶,在古代男女之间是不直接接触的,所以张生请了王婆来给保媒,王婆年事已高不能干体力活,她找了个挑运工帮她挑聘礼,从自己的媒人钱里给挑运工支付工钱。此为故事中的主要任务,下面介绍一下他们在三层中扮演的角色。

  三层的划分目的是为了高内聚低耦合的思想,所以分的层次也说法不一,通常划分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。

  1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

  2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

  3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

  故事中人物扮演角色:张生(UI),王婆(BLL),崔莺莺(DAL)。剩下挑运工来扮演实体层,实体层严格的来说不算是一层,我们更喜欢叫它实体类,它用来存储数据在三层中的上蹿下跳,跟所有的层都能打交道。

  下面我们就看看张生和崔莺莺到底能不能喜结连理吧!

  男女之间的事情往往是女方比较腼腆(当然不能排除当今社会的女汉子),所以张生要主动请王婆帮她下聘礼(U层要引用B层)。王婆要带着聘礼去找崔莺莺下聘,前面说了女方腼腆所以王婆要主动把聘礼送过去,才能知道是不是崔莺莺想要的礼物(B层要引用D层)。挑运工跟着王婆挑着聘礼穿梭在张生和崔莺莺之间,所以张生、崔莺莺、和王婆都要依赖挑运工(三层都要引用实体层)。如果王婆带着聘礼去了,正和崔莺莺的意愿,那么这桩亲事就算成了,如果崔莺莺见到聘礼不合心意,那么就只能出家了!

 

 

<span style="font-family:KaiTi_GB2312;font-size:18px;">  //U层代码
        private void button1_Click(object sender, EventArgs e)
        {
            string GiftName = textBox1.Text.Trim();
            王.婆.Xiapin xp = new 王.婆.Xiapin();
            if (xp.XiaPin(GiftName)==true)
            {
                MessageBox.Show("下聘成功!");
            }
            else
            {
                MessageBox.Show("还是削发为尼吧!");
            }
        }</span>


 

<span style="font-family:KaiTi_GB2312;font-size:18px;"> //B层代码
        public bool XiaPin(string GiftName)
        {
            崔.莺莺.Gift gift = new 崔.莺莺.Gift();
            挑.运工.GiftInfo pinli = gift.SelectGift(GiftName);

            if (pinli != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }</span>


 

<span style="font-family:KaiTi_GB2312;font-size:18px;">//D层代码
        public 挑.运工 .GiftInfo SelectGift(string GiftName)
        {
            using(SqlConnection conn = new SqlConnection(gongju.ConnString))
            {
                conn.Open();
                string strSql="SELECT GiftName FROM GiftInfo WHERE GiftName=@GiftName";
                SqlCommand cmd = new SqlCommand(strSql,conn);
                cmd.Parameters.Add(new SqlParameter("@GiftName", GiftName));
                SqlDataReader reader = cmd .ExecuteReader();
                挑.运工.GiftInfo gift = null;
                while (reader .Read ())
                {
                    if (gift ==null )
                    {
                        gift = new 挑.运工.GiftInfo();
                    }
                    gift .GiftName = reader.GetString  (0);
                }
                return gift;
            }
        }</span>


 

<span style="font-family:KaiTi_GB2312;font-size:18px;">//实体层代码
    public  class GiftInfo
    {
        public string GiftName {get ;set;}
    }</span>


  话说张生一夜发家准备的聘礼是黄金万两,正和崔莺莺的心意(哪个女人不爱财):

  可惜的是挑运工心术不正,把王婆打晕后带着聘礼逃之夭夭了,张生能拿着当初两人的定情信物“口脂五寸”去下聘:

  哎!现实就是这么残酷!!!

 

目录
相关文章
|
Linux API C#
WPF跨平台方案?
WPF跨平台方案?
413 1
【5分钟+】计算机系统结构:CPU性能公式
【5分钟+】计算机系统结构:CPU性能公式
745 0
【5分钟+】计算机系统结构:CPU性能公式
|
存储 分布式计算 前端开发
淘宝widget链路方案总结
目前widget生态已经做了大量的基建工作,同时在widget生态的演进过程中我们发现如何匹配用户的偏好一直以来是一个挑战工作,本文介绍了widget的整体链路。
216 0
|
监控 前端开发 NoSQL
华为大神珍藏版:SpringBoot全优笔记,面面俱到太全了
作为开发人员,对于Spring全家桶肯定是不陌生的,而来自于Spring大家族的Spring Boot,作为Spring团队提供的流行框架,它的存在解决的Spring框架使用较为繁琐的问题,所以掌握SpringBoot是精通Spring必不可少的一个过程。 在面试过程中,SpringBoot的相关内容都会被面试官给问到,几乎一线互联网对于技术岗的任职要求都对Spring有一定的规定,所以学习Spring刻不容缓。
|
网络安全 网络架构 Python
如何写批量备份交换机配置的Python脚本?今日文章安排5个厂商的,牛叉!
如何写批量备份交换机配置的Python脚本?今日文章安排5个厂商的,牛叉!
275 0
如何写批量备份交换机配置的Python脚本?今日文章安排5个厂商的,牛叉!
|
存储 编解码 监控
AD2428W手册解读之操作与配置 上
AD2428W手册解读之操作与配置 上
AD2428W手册解读之操作与配置 上
|
前端开发
如何自定义Electron的通知事件,自定义窗口大小
当外层添加拖拽后,里层添加点击事件时,点击事件的元素要添加这个样式方能添加点击事件
|
大数据 云计算
带你读《中台战略:中台建设与数字商业》之一:前言
在产业互联网时代,数字化成为企业的核心战略。在此背景下,数字中台成为指导企业数字化转型、实现数字营销的主流方法。数字中台是基于企业级互联网及大数据架构打造的数字化创新平台,包含业务中台和数据中台。
|
存储 消息中间件 Dubbo
内核中的UDP socket流程(8)——udp_sendmsg
作者:gfree.wind@gmail.com 原文:http://blog.chinaunix.net/space.php?uid=23629988&do=blog&id=91590 继续分析udp_sendmsg,      ipc.
2485 0