MVC工作中的筆記 1 架構師是一步一步練成的)

2021-09-06 04:09:57 字數 2961 閱讀 5055

如果你是乙個物件mvc很痴迷但沒有使用過的朋友,那你可以看這篇文章了。

1 controller裡的create()方法, 乙個用來顯示view,乙個用來接入從view提示過來的表單資訊及便進行處理

public actionresult create()

;

return view(new productformviewmodel(pro));

}[acceptverbs(httpverbs.post)]//篩選器,當有post事件時被觸發

public actionresult create(product pro) //這才是真正的create方法

catch (exception e)

}return view(new productformviewmodel(pro));

}

2 對於view中的dropdownlist的資料繫結
//首先,2010-5-14這種繫結需要返回的資料來源是個selectlist,所以,我們分三層說一下
//view層**:
<%= html.dropdownlist("typeid", model.type )%>
// controller層**
public

class productformviewmodel

//只能在類內部為它賦值,它對外是唯讀的屬性
public  selectlist  type
public productformviewmodel(product _product)
}
public

class productcontroller : controller

public productcontroller(irepository res)
public ienumerable producttype() //反回乙個ienumerable的物件
//model層**:
}
}

3 使用方法的屬生,也稱篩選器,來使方法在表單提交後執行。
[acceptverbs(httpverbs.post)]
4 頁面是否被授權,如果為真,則執行方法
[authorize]
如果授權和表單提交希望同時驗證,可以這樣作
[acceptverbs(httpverbs.post), authorize]
5 controller中的edit()方法,需要先用id號取出資料,並返回檢視,然後第二步才是修改資料,所以edit方法也是由兩個重裁的方法組成

public actionresult edit(int id) //取出資料,反回檢視的同時,傳遞歸了pro這個物件

public actionresult edit(int id,formcollection collection) //根據id號,對表單中的資料進行update);}

catch (exception err)

}

6  [handleerror]篩選器,頁面出現錯誤後,它會返回乙個error.aspx的檢視,它可以在類前加,也可以在方法前加

7 trigraphs運算子:如果 ?? 運算子的左運算元非 null,該運算子將返回左運算元,否則返回右操數

8 linq實現inner join 的效果  

student stu = ,

new student

};classes cls = ,

new classes

};var stuname = (from students in stu

join class1 in cls on students.class equals class1.class

select new

);foreach (var name in stuname)

9 過濾器,也稱為擴充套件方法,是對指定型別擴充套件新增的方法,在不改變原來類的結構,後續新增的方法

public

static

class catalogfilters

}

ilistsample=資料來源

sample.withcategoryname(「zzl」); //直接就可以返回categoryname為zzl的實體物件一條

10 根據物件的構造方法的引數個數,來為類初始化值,這叫構造方法的過載
class orderitem

public

int count(get;set;)

public orderitem(string name) //有點意思 ,當載入同名方法時,可以根據傳遞的引數個數,來載入指定的構造方法,

這是過載,當然,如果希望實現對同一方法的不同功能,也可以在同名方法中,
為固定的引數直接賦這初值

: this(name,1) //當orderitem方法只傳遞name引數時,它的第二個能數i被初始化為1,實事上,它只是個為類初始化的構造方法。

public orderitem(string name,int count)

//通過例項,我們可以看到,當初始化類例項時orderitem("梨"),這時,梨的count就是1,

當然,如果是orderitem("梨",2),那麼count自然就是2了

}

如果我是12306架構師

12306,因為系統問題,成了it業界內大家茶餘飯後經常談論的話題。先分享乙個真實故事,我同事看了12306這個 他說,這個 做下來只要5萬,我反駁,被他嘲笑。笑話終歸笑話,沒有諷刺鐵道部,以及12306研發方的意思,我同事是實習生,他不懂12306。近日,我們在乙個技術群裡討論了乙個開放式話題 如...

軟體架構師是如何工作的

最近看完了王概凱寫的九篇架構漫談後,對於軟體架構師是如何工作的,首先我們的先知道什麼是架構,架構就是根據要解決的問題,對目標系統的邊界進行界定,並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間,並且並對這些切分出來的部分,設立...

課堂作業01 架構師的職責

從第一堂課 夢想改造家 聯絡到自己專業中的架構師,感覺有點異曲同工 創造。架構師是根據實際的需求分析和自己的工作經驗,創造符合該軟體的架構 而王平仲設計師是根據住房的實際情況和自己的設計經驗創造符合該住房的設計。那麼問題來了架構師的職責以及功過流程究竟是什麼。1.架構師理解軟體流程。架構師必須了解軟...