欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > ASP.NET的適配器設計模式(Adapter)應用詳解

ASP.NET的適配器設計模式(Adapter)應用詳解

熱門標簽:合肥電銷外呼系統哪家公司做的好 預測式外呼系統使用說明 南陽外呼系統定制化 蘋果手機凱立德地圖標注 申請400電話手續 百度ai地圖標注 玉林市機器人外呼系統哪家好 同安公安400電話怎么申請流程 電話機器人軟件銷售工作
前天有一網友問及有關設計模式的適配器模式(Adapter)時,說不太好理解。讓Insus.NET能否舉個簡單的例子來說明一下。下面的動畫是Insus.NET做出來的效果:

上面的演示,兩個燈的規格一樣,要求輸入的電壓為15伏。
Light1是直接使用,而Light2是使用Adapter(電源適配器)。因此Light1只能接收15伏的電壓,小于15伏,會提示電壓過低,如果超過了15伏,Light1肯定被燒壞。

Light2使用了電源適配器,它接收15伏至220的電壓,在這電壓范圍之內,電源適配器會把電壓轉為15的電壓。小于15伏,會提示電壓過低,如果超過了220伏,適配器被燒壞。

好,我們程序開始,先創建一個燈Light的類:
復制代碼 代碼如下:

Light.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// summary>
/// Summary description for Light
/// /summary>
namespace Insus.NET
{
public class Light
{
private int _InputVoltage = 15;
public int InputVoltage
{
get { return _InputVoltage; }
set
{
if (value 15)
throw new Exception("電壓過低。");
else if (value > 15)
throw new Exception("危險!電壓過大燈燒壞。");
else
value = 15;
_InputVoltage = value;
}
}
public Light()
{
//
// TODO: Add constructor logic here
//
}
}
}

再創建一個燈的電源適配器:
復制代碼 代碼如下:

PowerAdapter.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// summary>
/// Summary description for PowerAdapter
/// /summary>
namespace Insus.NET
{
public class PowerAdapter : Light
{
Light _Light;
public PowerAdapter(Light light)
{
this._Light = light;
}
public int InputVoltage
{
get
{
return _Light.InputVoltage;
}
set
{
if (value 15)
throw new Exception("電壓過低。");
else if (value > 220)
throw new Exception("危險!電壓過大電源適配器燒壞。");
else
value = 15;
_Light.InputVoltage = value;
}
}
}
}

如何測試它們,我們得模擬一個環境,創建一個網頁Default.aspx:
復制代碼 代碼如下:

Default.aspx
%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
!DOCTYPE html>
html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
title>/title>
script type="text/javascript">
function isNumeric(keyCode) {
return ((keyCode >= 48 keyCode = 57) || keyCode == 8)
}
/script>
/head>
body>
form id="form1" runat="server">
table>
tr>
td align="right">插座電壓/td>
td colspan="2">
asp:TextBox ID="TextBox1" runat="server" onkeydown="return isNumeric(event.keyCode);" Text="220">/asp:TextBox>/td>
/tr>
tr>
td align="right">開關/td>
td colspan="2">
asp:CheckBox ID="CheckBoxSwitch" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBoxSwitch_CheckedChanged" />/td>
/tr>
tr>
td align="right">燈/td>
td>
fieldset style="width: 200px;">
legend>Light 1
/legend>
asp:Image ID="Image1" runat="server" ImageUrl="Images/Light_C.gif" Width="36" Height="55" />br />
asp:Label ID="Label1" runat="server" Text="">/asp:Label>
/fieldset>
/td>
td>
fieldset style="width: 250px;">
legend>Light 2
/legend>
asp:Image ID="Image2" runat="server" ImageUrl="Images/Light_C.gif" Width="36" Height="55" />br />
asp:Label ID="Label2" runat="server" Text="">/asp:Label>
/fieldset>
/td>
/tr>
/table>
/form>
/body>
/html>

接下來,看看開關的事開與關的事件,有詳細的注解:
復制代碼 代碼如下:

Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;
public partial class _Default : System.Web.UI.Page
{
string offLight = "~/Images/Light_C.gif";
string onLight = "~/Images/Light_O.gif";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void CheckBoxSwitch_CheckedChanged(object sender, EventArgs e)
{
var cb = (CheckBox)sender;
//插座缺少電壓為220伏
int input = Convert.ToInt32(string.IsNullOrEmpty(this.TextBox1.Text.Trim()) ? "220" : this.TextBox1.Text.Trim());
//開關打開
if (cb.Checked)
{
try
{
//實例一個電燈
Light light = new Light();
//插入插座,使用插座電壓
light.InputVoltage = input;
//電燈被打開
this.Image1.ImageUrl = onLight;
//顯示正常輸出電壓
this.Label1.Text = light.InputVoltage.ToString();
}
catch (Exception ex)
{
//如果電壓不正常,電燈打不開或是被燒壞。
this.Image1.ImageUrl = offLight;
//顯示異常信息。
this.Label1.Text = ex.Message;
}
try
{
Light light = new Light();
//使用電源適配器
PowerAdapter pa = new PowerAdapter(light);
pa.InputVoltage = input;
this.Image2.ImageUrl = onLight;
this.Label2.Text = pa.InputVoltage.ToString();
}
catch (Exception ex)
{
this.Image2.ImageUrl = offLight;
this.Label2.Text = ex.Message;
}
this.TextBox1.Enabled = false;
}
//開關關閉
else
{
this.TextBox1.Text = string.Empty;
this.TextBox1.Enabled = true;
this.Image1.ImageUrl = offLight;
this.Image2.ImageUrl = offLight;
}
}
}

11:44分,補充下面內容,有網友問及演示完整代碼(.NET Framework 4.0)
您可能感興趣的文章:
  • Asp.Net設計模式之單例模式詳解
  • C#設計模式之Template模板方法模式實現ASP.NET自定義控件 密碼強度檢測功能
  • 關于.NET Framework中的設計模式--應用策略模式為List排序
  • jQuery 驗證插件 Web前端設計模式(asp.net)
  • .net設計模式之裝飾模式(Decorator)

標簽:淄博 揚州 南京 臺州 南昌 嘉興 南京 海南

巨人網絡通訊聲明:本文標題《ASP.NET的適配器設計模式(Adapter)應用詳解》,本文關鍵詞  ASP.NET,的,適配器,設計模式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET的適配器設計模式(Adapter)應用詳解》相關的同類信息!
  • 本頁收集關于ASP.NET的適配器設計模式(Adapter)應用詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    yy6080午夜| 一本久久综合亚洲鲁鲁五月天 | 完美搭档在线观看| 欧美亚洲国产一区二区三区va| 国产精品美女久久久久高潮| 韩国毛片一区二区三区| 亚洲专区区免费| 日韩欧美一区中文| 青青草91视频| 亚洲狠狠婷婷综合久久久久图片| 欧美电影在线免费观看| 天天影视涩香欲综合网| 男人网站在线观看| 日韩一区二区三区免费看| 日韩影院在线观看| 黄色短视频在线观看| 日韩无一区二区| 毛片av一区二区三区| 欧美多人猛交狂配| 久久久久久99久久久精品网站| 精品亚洲欧美一区| 自拍偷拍第9页| 国产精品理伦片| 91小视频免费观看| 欧美日韩你懂得| 午夜av电影一区| 国产人妻一区二区| 国产亚洲综合av| 成人av在线网站| 欧美三级在线视频| 日韩精品电影在线| 久久亚洲无码视频| 国产精品免费观看视频| 91在线视频播放地址| 777欧美精品| 狠狠网亚洲精品| 国产高潮流白浆| 夜夜操天天操亚洲| aaaaaav| 国产日韩精品视频一区| 白白色 亚洲乱淫| 欧美日本国产视频| 精品在线播放免费| 色综合天天综合网天天狠天天 | 性囗交免费视频观看| 精品日韩在线观看| 处破女av一区二区| 欧美日韩精品专区| 久久国内精品自在自线400部| 少妇精品无码一区二区免费视频| 一区视频在线播放| japanese在线观看| 国产精品美女久久久久aⅴ| 丰满少妇一区二区三区专区| 精品剧情在线观看| fc2成人免费人成在线观看播放| 在线播放一区二区三区| 国产在线精品免费| 欧美亚洲国产一区二区三区va| 麻豆精品视频在线观看免费| 91日韩中文字幕| 视频一区视频二区中文字幕| 国产黄色录像片| 亚洲3atv精品一区二区三区| а天堂中文在线资源| 亚洲午夜在线电影| 蜜桃av.com| 视频一区中文字幕国产| √天堂中文官网8在线| 丝袜脚交一区二区| 18岁成人毛片| 久久电影网电视剧免费观看| 欧美性猛交xxxxxx富婆| 国产最新精品免费| 在线电影国产精品| 成人白浆超碰人人人人| 欧美大片在线观看| 18深夜在线观看免费视频| 久久九九久精品国产免费直播| 91亚洲一线产区二线产区| 欧美国产欧美综合| 最新中文字幕视频| 一区二区三区不卡在线观看 | aa级大片欧美| 久久人人97超碰com| 亚洲麻豆一区二区三区| 国产精品久久久久影院老司| 中国毛片在线观看| 亚洲成人av中文| 色偷偷久久人人79超碰人人澡| 韩国成人在线视频| 欧美一区二区免费观在线| 97久久超碰国产精品电影| 国产色一区二区| 丰满圆润老女人hd| 亚洲 欧美综合在线网络| 一本色道久久综合精品竹菊| 国产毛片精品一区| 欧美成人精品福利| 青青草视频网站| 亚洲国产精品久久久久秋霞影院| 中文字幕在线观看成人| 国产剧情在线观看一区二区| 日韩欧美国产一区二区三区| 伊人久久久久久久久| 亚洲视频在线一区观看| 国产麻豆a毛片| 国产一区二区美女| 精品国产三级a在线观看| 亚洲男人在线天堂| 五月天激情小说综合| 精品视频色一区| 91美女在线观看| 亚洲欧美二区三区| 69av视频在线| 成人开心网精品视频| 中文字幕av不卡| 亚洲精品自拍视频在线观看| 久久激情五月激情| 久久嫩草精品久久久久| 欧美特级黄色录像| 精品一区二区三区在线播放视频| 日韩美女视频在线| 免费在线观看成年人视频| 日韩精品福利网| 日韩美女在线视频| 中文字幕被公侵犯的漂亮人妻| 免费欧美在线视频| 精品日韩成人av| 欧美日韩高清丝袜| 韩国av一区二区三区四区| 久久女同精品一区二区| 999精品久久久| 成人一区二区三区视频| 中文字幕日韩精品一区| 色悠久久久久综合欧美99| 91视频观看视频| 亚洲一级二级在线| 91精品欧美综合在线观看最新| 五十路六十路七十路熟婆| 青青草成人在线观看| 久久亚洲一级片| 国产高清视频免费在线观看| 成人精品小蝌蚪| 一区二区三区四区视频精品免费 | 久久久久久99精品| 中文字幕在线观看2018| 99久免费精品视频在线观看 | 逼特逼视频在线观看| 天天综合日日夜夜精品| 欧美精品一区二区三区蜜桃视频| 无码熟妇人妻av| 国产高清在线观看免费不卡| 亚洲视频一区二区在线| 欧美日韩国产美| 亚洲AV无码国产成人久久| 国产经典欧美精品| 亚洲欧美激情一区二区| 日韩一级在线观看| 免费成人深夜蜜桃视频| 91影视在线播放| 肉丝袜脚交视频一区二区| 久久精品亚洲麻豆av一区二区 | 爱爱视频免费在线观看| 免费人成视频在线播放| 日本大胆欧美人术艺术动态| 国产亚洲人成网站| 在线亚洲人成电影网站色www| 色婷婷精品久久二区二区密| 国产综合成人久久大片91| ...xxx性欧美| 欧美一区二区三区精品| 亚洲一级理论片| 中文字幕亚洲日本| 精品影院一区二区久久久| 亚洲乱码国产乱码精品精可以看 | 网爆门在线观看| 91女人视频在线观看| 青青青伊人色综合久久| 中国av一区二区三区| 欧美日韩第一区日日骚| 日本一二三不卡视频| 91丨porny丨九色| 韩国精品一区二区| 亚洲国产日韩a在线播放| 国产午夜精品美女毛片视频| 欧美日韩美少妇| 亚洲毛片亚洲毛片亚洲毛片| 99国产精品免费视频| 激情成人午夜视频| 亚洲一二三专区| 日本一区二区三区视频视频| 在线电影国产精品| 91porn在线视频| 久久精品无码一区| 在线观看亚洲免费视频| 懂色av一区二区三区免费看| 秋霞电影一区二区| 亚洲一区中文日韩| 国产精品免费网站在线观看|