国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:46:36
字體:
來源:轉載
供稿:網友
前天有一網友問及有關設計模式的適配器模式(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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温泉县| 洪雅县| 松阳县| 巴林右旗| 乐都县| 志丹县| 西林县| 兴和县| 介休市| 佛冈县| 双峰县| 铅山县| 怀宁县| 永定县| 永嘉县| 安福县| 昔阳县| 获嘉县| 垣曲县| 通城县| 新乡市| 信阳市| 宁南县| 和政县| 淅川县| 五莲县| 高碑店市| 神池县| 鸡泽县| 青海省| 永川市| 玛多县| 中江县| 竹溪县| 凤凰县| 八宿县| 潼南县| 卫辉市| 盘山县| 龙井市| 进贤县|