ASP.NET的简单与面向对象开发

ASP.NET开发,一开始是为了超赶时间完成任务,只能把功能实现即可。如下面一个功能,在网页中有一个铵钮,用户点一点切换网页的图片,再点一点又切换回来。
我们要怎样做?在铵钮事件中去变更图片的路径即可。

这个例子,Insus.NET找到两张图片,图片来自《ASP.NET的适配器设计模式(Adapter)http://www.cnblogs.com/insus/archive/2013/02/04/2891426.html 。
铵钮也参考了《关于母版页的按钮事件http://www.cnblogs.com/insus/archive/2012/03/09/2387829.html 
和《用户控件如何控制ASPX页面的控件http://www.cnblogs.com/insus/archive/2012/04/16/2451664.html 。

OK,把两张图片放在站点下,并创建一个网页,如Default.aspx:


在Default.aspx.cs的Button1_Click事件:


演示:


你是这样开发吗?很简单吧,很快就可以完成并提交开发任务了吧。 你会说:不,用javascript和jQuery实现更快,更好效率,更好维护。Insus.NET想说的是javascript和jQuery不在此讨论范围。我们需要讨论的是ASP.NET开发。

下面Insus.NET使用面向对象来开发,先在Default.aspx改写一些:

 
此时我们可以把图片看当一个对象Light,创建一个类:



我们不可能把灯接到一个常开的线电路中去,即是说,需要在电路中安装一个开关。用户给这个开关一个“开”还是“关”的指令。因此还要创建一个对象Switch类:

两个对象Light和Swtich完成了,现在来看看xxx.aspx.cs的铵钮事件怎样实现:


再次演示:



本例全部实现完成,运用了面向对象开发 ,两个类中实际上有使用了中介者设计模式和内部一些协作进行封装。

演示源代码可从下面链接下载(Default是重构前,Default2是重构后):
http://download.cnblogs.com/insus/Refactoring/mediator_refactor_OO.rar

 

posted @ 2014-12-05 15:13  Insus.NET  阅读(...)  评论(...编辑  收藏