摘要:Bruce Tate 在他的书《Bitter Java》里谈到了Server-side Java 中的 antipatterns ,其中一个叫做“Magic Servlet” 。在这个Servlet 里,混杂了model,view和controller的编码,搞得责任不清,维护或扩展起来很麻烦。
其实在ASP.NET世界里也一样,如果你在论坛上混长了,类似下面的编码随处可见,我们不妨叫它为 “ Magic Page”, 。问题是,这些红字的语句是否应该出现在这里?
(注:我知道这是个样品程序而已,求全责备恐怕是有点荒唐,但类似的编码在论坛上的帖子里经常出现,到底是什么原因呢?是程序员技术不精还是模仿造成的?)
<%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head><script language="C#" runat="server">
SqlConnection myConnection; public Hashtable StateIndex;
protected void Page_Load(Object Src, EventArgs E) { myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");
if (!IsPostBack) BindGrid();
StateIndex = new Hashtable(); StateIndex["CA"] = 0; StateIndex["IN"] = 1; StateIndex["KS"] = 2; StateIndex["MD"] = 3; StateIndex["MI"] = 4; StateIndex["OR"] = 5; StateIndex["TN"] = 6; StateIndex["UT"] = 7; }
public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs E) { MyDataGrid.EditItemIndex = (int)E.Item.ItemIndex; BindGrid(); }
public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs E) { MyDataGrid.EditItemIndex = -1; BindGrid(); }
public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E) ......[
阅读全文]