asp.net從一開始就沒按OOP規範來 太可惜了從 Page_Load開始
我突然才發現 protected void Page_Load(object sender, EventArgs e) 被自動呼叫的時候卻找不到 呼叫 的地方,天拉,記得1.1的時候 在程式碼裡看得到 this.Load += new System.EventHandler(this.Page_Load); 這樣證句,在2.0裡卻找不到了,
也就是說 頁面呼叫 完全 是一種約定,程式碼裡看不到了,天拉這又在違反物件導向規則,微軟又想走MFC的老路 ,又在標準里加私貨.真是痛心
在1.1的時候看得到類頁面的一大堆初始化程式碼,雖然看起多雜,看是複合面象物件要求, 而Page_Load相當於系統回撥,正確的用法應該是 protected override void Page_Load 這樣才對,覆蓋基類的方法,這樣才能被呼叫,可是甚至這樣寫
private void Page_Load 都通得過 能正常呼叫 執行 private void Page_Init 大家看看 私有方法啊,哪來的私有方法沒被初始化事件就呼叫 ,太噁心了,程式碼裡沒有初始化程式碼,外面竟然能呼叫私有方法,這種約定又想把.NET 搞成MFC那種下場
---------------
我怎麼知道是在頁面載入時執行?如果不看書 不看MSDN的話? 這是一種硬約定吧?其它完全沒必要這麼做,微軟為什麼要這麼做呢?有人給我講講,這樣做完全不規範,其它微軟完全可以這樣,這樣很很明瞭了啊 或者在ASPX 檔案里加一句 DocumentInit="Page_Load"
可是這些都看不到,完全憑微軟自己硬性約定呼叫,好好的OOP 又被微軟搞亂了 ,我真希望 我錯了
也就是說 頁面呼叫 完全 是一種約定,程式碼裡看不到了,天拉這又在違反物件導向規則,微軟又想走MFC的老路 ,又在標準里加私貨.真是痛心
在1.1的時候看得到類頁面的一大堆初始化程式碼,雖然看起多雜,看是複合面象物件要求, 而Page_Load相當於系統回撥,正確的用法應該是 protected override void Page_Load 這樣才對,覆蓋基類的方法,這樣才能被呼叫,可是甚至這樣寫
private void Page_Load 都通得過 能正常呼叫 執行 private void Page_Init 大家看看 私有方法啊,哪來的私有方法沒被初始化事件就呼叫 ,太噁心了,程式碼裡沒有初始化程式碼,外面竟然能呼叫私有方法,這種約定又想把.NET 搞成MFC那種下場
---------------
我怎麼知道是在頁面載入時執行?如果不看書 不看MSDN的話? 這是一種硬約定吧?其它完全沒必要這麼做,微軟為什麼要這麼做呢?有人給我講講,這樣做完全不規範,其它微軟完全可以這樣,這樣很很明瞭了啊 或者在ASPX 檔案里加一句 DocumentInit="Page_Load"
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new EventHandler(Page_Load);
}
{
base.OnInit(e);
this.Load += new EventHandler(Page_Load);
}
可是這些都看不到,完全憑微軟自己硬性約定呼叫,好好的OOP 又被微軟搞亂了 ,我真希望 我錯了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-611624/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從零開始學LINUX(4)之“第一次就這樣沒了”薦Linux
- 從WinMain開始AI
- 從零開始仿寫一個抖音App——開始APP
- ASP.NET Core - 從Program和Startup開始ASP.NET
- Java/Android 編碼規範,從第一行程式碼開始JavaAndroid行程
- Flutter 從一個demo開始Flutter
- 從零開始開發一個 WebpackWeb
- Re從零開始的UI庫編寫生活之規範制定UI
- 從零開始機器學習機器學習
- 從零開始 OpenCVOpenCV
- 從零開始學做微信小程式,看這些就夠了!微信小程式
- 從零開始寫一個ExporterExport
- 從0開始學習Webpack(一)Web
- C語言從零開始(一)C語言
- 從零開始寫JavaScript框架(一)JavaScript框架
- 《從零開始學Swift》學習筆記(Day 56)—— Swift編碼規範之命名規範Swift筆記
- 從0開始學習java,應該從那塊開始學起?Java
- Arch! 從安裝開始
- 從零開始機器學習--05機器學習
- 從零開始機器學習-03機器學習
- 從零開始機器學習--4機器學習
- flutter 從零開始-1Flutter
- mysql id從n 開始MySql
- 從零開始學Electron筆記(一)筆記
- 從零開始實現放置遊戲(一)遊戲
- 【從零開始擼一個App】PKCEAPP
- 從零開始寫一個網頁網頁
- 從零開始的Spring Boot (一)Spring Boot
- Jenkins 從零開始-安裝(一)Jenkins
- ORACLE從零開始系列之SQL(一)OracleSQL
- 從零開始學五筆(一):概述
- 從零開始開發一個大型網站網站
- iOS UIScrollView 沒有從頂部開始滑動iOSUIView
- 從零開始認識 SparkSpark
- 從零開始的 Flutter 動畫Flutter動畫
- 黑客入門,從HTB開始黑客
- 從 0 開始瞭解 DockerDocker
- 從零開始--webpack 4 配置Web