日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#实现MVC模式简要方法(2)

發布時間:2025/6/17 C# 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#实现MVC模式简要方法(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作為總是想的遠一點的開發人員,我們想讓我們的系統有一個長久并且良好的生命周期。這就是說能夠進可能的準備好滿足ACME的很多變化。為了做到這一點,我們知道要遵循兩條原則...“保證你的類低耦合”,要達到這個目標,還要“對接口編程”。

  所以我們要做三個接口(正如你所猜測,一個Model接口,一個View接口,一個Control接口)。

  經過很多調查研究,和與ACME人的費力咨詢,我們得到了很多有關詳細設計的信息。我們想確定我們可以設置的最大速度在前進,后退和轉彎中。我們也需要能夠加速,減速,左轉和右轉。我們的儀表盤必須顯示當前的速度和方向。

  實現所有這些需求是非常苛刻的,但是我們確信我們能夠做到...

  首先,我們考慮一下基本的項目。我們需要一些東西來表示方向和轉動請求。我們做了兩個枚舉類型:AbsoluteDirection 和 RelativeDirection。

public enum AbsoluteDirection
{
 North=0, East, South, West
}
public enum RelativeDirection
{
 Right, Left, Back
}

  下面來解決Control接口。我們知道Control需要將請求傳遞給Model,這些請求包括:Accelerate, Decelerate, 和 Turn。我們建立一個IVehicleControl接口,并加入適當的方法。

public interface IVehicleControl
{
 void Accelerate(int paramAmount);
 void Decelerate(int paramAmount);
 void Turn(RelativeDirection paramDirection);
}

  現在我們來整理Model接口。我們需要知道汽車的名字,速度,最大速度,最大倒退速度,最大轉彎速度和方向。我們也需要加速,減速,轉彎的函數。

public interface IVehicleModel
{
 string Name{ get; set;}
 int Speed{ get; set;}
 int MaxSpeed{ get;}
 int MaxTurnSpeed{ get;}
 int MaxReverseSpeed { get;}
 AbsoluteDirection Direction{get; set;}
 void Turn(RelativeDirection paramDirection);
 void Accelerate(int paramAmount);
 void Decelerate(int paramAmount);
}

  最后,我們來整理View接口。我們知道View需要暴露出Control的一些機能,比如允許或禁止加速,減速和轉彎申請。

public interface IVehicleView
{
 void DisableAcceleration();
 void EnableAcceleration();
 void DisableDeceleration();
 void EnableDeceleration();
 void DisableTurning();
 void EnableTurning();
 }

  現在我們需要做一些微調使我們的這些接口能夠互相作用。首先,任何一個Control都需要知道它的View和Model,所以在我們的IvehicleControl接口中加入兩個函數:"SetModel" 和"SetView":

public interface IVehicleControl
{
 void RequestAccelerate(int paramAmount);
 void RequestDecelerate(int paramAmount);
 void RequestTurn(RelativeDirection paramDirection);
 void SetModel(IVehicleModel paramAuto);
 void SetView(IVehicleView paramView);
}

  下一個部分比較巧妙。我們希望View知道Model中的變化。為了達到這個目的,我們使用觀察者模式。

轉載于:https://www.cnblogs.com/lotussoft/archive/2009/08/27/1555435.html

總結

以上是生活随笔為你收集整理的C#实现MVC模式简要方法(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。