分析一个典型的C# PROJECT MVC示例

代码下载

这是一个交通工具的C# Project,架构上采用了MVC模式,在这里主要体现了MVC这种模式的优势在于可以替换和扩展任何一个层。

方向的枚举类型存放在Enums文件中,其中定义了东西南北四个绝对的方向和左右后退三个相对的方向。

Model:

IVehicleModel交通工具模块接口,这个接口抽象了全部交通工具的公共方法“加速”、“减速”、“转向”。拥有的属性是“当前方向”,“最大后退速度”,“最大前进速度”、“最大速度”,“最大转弯速度”、“交通工具名称”、“当前的速度”。

Model使用了观查者模式来更新VIEW,对全部的交通工具的View模型进行统一的处理,这样就可以在一个Model发生更改后通知所有使用它的View进行更新操作,这里的方法有“增加被观察者”、“移除被观察者”、“通报被观察者”。当交通工具的加速减速转转向等一经调用,则即刻改变了模型的状态,改变状态后必须调用通报被观察者来更新全部的VIEW。

Automobile 这是一个汽车的抽象模型,继承自IVehicleModel接口,实现了汽车所普遍拥有的方法。

ACME2000SportsCar这是一个非常COOL的跑车,它有一些东西与普通的车是不一样的,因为他是跑车所以在最高时速,最大的转弯速度都高于普通车。

View:

IVehicleView交通工具显示和操作界面的接口,所有的Vehicle显示界面和操作界面都要继承自这个View,它的功能是显示和提供操作VehicleModel,改变它的状态。主要方法有:“禁用加速”、“启用加速”、“禁用减速”、“启用减速”、“禁用转弯”、“启用转弯”、“更新信息”。

Controler:

IVehicleControl交通工具操作Model和View的控制接口,它只是负责根据View的请求交由Model来处理,并且将Model来返回给相应的View显示。它的主要方法有是“请求加速”、“请求减速”、“请求转弯”、“设置Model”、“设置View”。

工作流程是模拟一部正在跑的车,可以增加或降低速度,增加或降低的步长可以设定,同时会更新进度条显示当前的速度,类似于一个时速表,当速度增加到一定最大拐弯的值时就不能再拐弯了,拐弯的按钮会变禁用,否则可以随时向左向右拐弯,它会相应的告诉你正在向哪个方向前进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值