iT邦幫忙

0

研討會 -- [台北]架構設計好簡單 - 快速從Web Form 升級 ASP.NET MVC(講師:Gelis)

很開心又邀請到一位高手來分享經驗,帶領大家實作。
相同的北風資料庫,從Web Form如何轉換成MVC呢?
這一天會讓您動手實戰,親身體會。

課前須知:
希望是有 OOP 概念 (不深沒關係)、但 需有ASP.NET 2.0~4.0 Web Form 開發 2-3年經驗較好,
使用過 ADO.NET,使用過 Entity Framework(基礎),聽過 LINQ、且相關經驗都是使用 C#為主

以 "觀念式"的傳達,而不是用 Web Form 轉 MVC 這種講法,
因為不管你是寫 Web Form 或是 MVC,若架構性的觀念有,其實 Web Form 一樣可以寫得很好維護,
所以老師會在課程中,不斷的強調,先分層,再談轉換。

課程一開始,老師會以架構性的思考來貫穿整個課
報名&完整內容,請看:http://www.dotblogs.com.tw/mis2000lab/archive/2015/06/05/gelis\_webform\_to\_mvc.aspx

*******************************************************************************
Gelis老師提供的 "上課投影片",您可以瞭解上課內容

事先做好評估 http://www.dotblogs.com.tw/gelis/archive/2013/11/21/130795.aspx

架構設計好簡單系列 - 簡單分層你的網站 (如何快速從Web Form 變成 ASP.NET MVC)
http://www.dotblogs.com.tw/gelis/archive/2013/09/15/118597.aspx

*******************************************************************************

上課使用軟體:VS 2013 ( 建議升級到Update 4 )
現場有電腦教室,也歡迎自備NB(有個人電源插座與Wi-Fi網路)
預計20人額滿。小班教學。

上課地點:台北火車站附近,交通便利,外縣市朋友也可上課。
鄰近新光三越百貨、NOVA(現為H&M)、燦坤

上課日期: 2015/ 7/ 26(週日),09:00~17:00,午休一小時。

課程大綱:

Agenda

觀念澄清 -- 先別說轉換這件事,我們先來談談分層、架構這回事。

良好的職責切割 ==> 談 "分層"
具備架構思維的程式設計師 所開發的Web Form 一樣很好維護

首先,如何培養架構性的思考

先從基礎的來

  1. 可從 重構 開始培養

  2. 元件化/模組化 概念

撰寫程式的架構性思考
實際 Coding 時,該在腦中進行的小迴圈
即便是 Coding,也要以架構師的角度來看程式碼

但現有系統怎麼做?(課程中來詳談) 需求你清楚嗎?
Northwind 的客戶訂單系統 為例

需求分析/Business Logic/Data Access Layer

順序:兩方切入 (UI <==> DAL)

  1. 分離 DAL (如果你本來就沒有 DAL 那你只能重寫)

  2. 撰寫為 UnitOfWork Pattern
    分析、並找出 Service 介面

  3. 建立 Service 層專案(使用 Autofac)善用IoC & DI
    兩種方式:
    A. 同專案內使用 Controller 取得資料 (使用 Autofac 注入 Service)
    B. Front-End 架構 (建立 Web API Controller 專案)
    透過 Web API 開放 Service 層

  4. 新增、重新撰寫 ASP.NET MVC 的 View 與 Controller

  5. 分析 Web Form 的 UI 層
    A. 改寫所有指定 DataSource 的部分
    B. Demo 原有 Web Form 做少部分修改,也可以存取 Service 層

總 結
各層職責分離,容易維護與需求修改,不至於牽一髮動全身

可以重複使用,原本的 Web Form 少部分改寫也可以叫用 Service,甚至其他用程式 Windows Form/手機/任意 Device 也可以輕易操作 Service

報名&完整內容,請看:http://www.dotblogs.com.tw/mis2000lab/archive/2015/06/05/gelis\_webform\_to\_mvc.aspx


0
賽門
iT邦超人 1 級 ‧ 2015-06-08 14:11:30

不要為了MVC而MVC,能用WebForms就用WebForms。

0
賽門
iT邦超人 1 級 ‧ 2015-06-08 17:07:09

WebForms到MVC不是升級,那是一些台灣的MVP搞出來的玩意兒。
簡單來說,台灣的MVP,不是真的有價值的MVP,拿MVP當職業的。

看更多先前的回應...收起先前的回應...

iT邦幫忙MVPsimon581923提到:
WebForms到MVC不是升級

那是轉性...毆飛

gelis iT邦新手 5 級‧ 2015-06-15 22:48:40 檢舉

從 WebForm 到 MVC 的確不是升級,打從我寫地一篇文章時,就沒說過是升級,這應該是 mis2000 打錯了

從我寫地一篇文章時,就沒說過從 WebForm 到 MVC 是升級,你有在我文章裡找到 "升級" 這兩個字嗎?

文章中,我不斷的強調,概念夠的程式設計者,即便撰寫 Web Form,也會很好維護,所以,課程的重點也在於架構設計,並不在於使用 WebForm 或是 MVC,因為不管是哪一種,我們都希望是一個妥善的、經過分析、設計、職責分離,彼此偶和度低,容易維護、擴展的網站。不會把它當成 WinForm 來開發。

請你解釋一下,什麼叫做台灣MVP不是真正有價值的MVP?不然請你收回這句話...

MVP 不是一種職業,每個都在不同的公司上班,有自己的職業。不清楚就不要亂說。

其實說句老實話...對於中小企業,MIS兼coder...MVC真的是...多餘的...

但是呢...常常聽到各位MVP老大們,鼓吹什麼MVC可以加快開發時程...
只好請您告訴我們實情了....
一個MIS部門裡頭,MIS還得兼coder,連個職務代理人都沒有
MVC真的可以加速開發時程?
我只能說,推廣歸推廣,不能『斷章取義』
by the way...雖然我自己也是比較喜歡用MVC(因為不用自己去為了一些特殊需求,創造一些稀奇古怪的server control)

當初ASP 3.0...form post也用得好好的
不也是各位MVP大人,說什麼server control + event trigger可以加速開發...
怎麼現在又回到Web的原點了呢?

gelis iT邦新手 5 級‧ 2015-06-15 23:22:47 檢舉

我同意,不要說中小企業如果是 MIS 兼 Coder ,如果是一個人開發,我都不會建議他使用 MVC

我後來從事顧問以來,從沒跟人說過 MVC 可以加速開發,MVC 正因為關注點分離,前期分析的時間一定會比較長,如果沒有想清楚就做,那也會產生另一個災難..

我大約從 2000 畢業後開始寫程式做專案,從 Delphi 開始寫到 .NET WinForm、ASP.NET WebForm、ASP.NET MVC,一直以來,我只會建議我的客戶最適合的解決方案,我也是有客戶排斥 MVC,那就它們熟悉的 WebForm,同樣可以解決問題。這也是我一直強調的,所謂的架構設計,有時候,找出最省時、省力、又保有較佳的設計、維護姓、時效性,又兼顧團隊的 Skill、以後維護也方便的一種方式。因為架構設計有時候也是一種全盤的考慮,不光是技術,更何況技術是中立的。

gelis提到:
2000 畢業後

依照這個看來...應該是個小老弟開心毆飛

gelis提到:
從沒跟人說過 MVC 可以加速開發

這個現象,你可以去看看市面上號稱MVP寫的各類專書...基本上每一本都中獎...
不然你問問mislab2000老大...他自己的書有沒有標榜這樣的話...
賣書、研討會是很好的,但是賣的應該是專業知識,不是踩著別人的屍體墊高自己

gelis提到:
前期分析的時間一定會比較長

這個...中小企業老闆絕對是不同意的
日子一天天過,程式設計人員的薪水一天天發...

gelis iT邦新手 5 級‧ 2015-06-15 23:41:23 檢舉

忘了告訴你.. ASP 3.0 我也有寫過好一陣子..

其實應該是98年畢業,2000 才開始算軟體公司的資歷..

gelis提到:
98年畢業

還是小弟弟....開心

我是替賽大說的毆飛

gelis iT邦新手 5 級‧ 2015-06-15 23:47:39 檢舉

所以?...

ㄟ...這個嘛...沒人跟你說外獅佬的年齡是秘密嗎?毆飛毆飛

gelis iT邦新手 5 級‧ 2015-06-15 23:59:46 檢舉

資深不代表可以公開批評別人...

iT邦幫忙MVPsimon581923提到:
台灣的MVP,不是真的有價值的MVP,拿MVP當職業的

說真的...這我得挺賽大!!
這句話沒有貶人的意思!
你們被M$選為MVP,我們沒有異議
但是,請你們自問..是不是頂著這個光環...招搖撞騙(對不起,語氣重了很多)

因為...頂著這光環...夜郎自大的..不能說多,但是真的不少

gelis iT邦新手 5 級‧ 2015-06-16 10:01:01 檢舉

說真的,不好意思,這..我也還是得替許多MVP說話.. 請多包涵
是不是有人招搖撞騙 => 憑良心說,不能說沒有,但也許多 MVP 是以實力取勝的

你們比較資深,所以你們知道 MVP 是什麼,不過我告訴你,現在還是有很多 IT 人,不知道 MVP 是什麼?= =
包括我的客戶,不誇張,10個客戶就有 8個不知道 MVP 是什麼?幫他們過顧問服務他們只看你有沒有辦法幫他們解決問題,如果解不了,他們才不當你是一回事。他們會因為你是 MVP 而信任你嗎?並不會,只看能解決多少問題,慢慢的他們才會信任你 = =

我想,你們也不會因為某個新進員工是 MVP 就認為他OK吧! 一定要再在工作上表現給上面看,上面才會信任你,沒錯吧!

我拿到 MVP 時,我前公司也沒有幫我加薪,這是真的,沒有騙你

這都是我實際遇到的狀況

gelis提到:
不知道 MVP 是什麼

知道這個有飯吃嗎?落寞

0
外獅佬
iT邦大師 1 級 ‧ 2015-06-08 17:43:23

唯一讓我不想用WebForm的原因...
就是...WinForm的開發者,會把webform當做winform玩...汗
Web警示視窗這麼寫

&lt;pre class="c" name="code">
using System.Windows.Forms;
.......
MessageBox.Show(....);

真是欲哭無淚啊Orz

0
賽門
iT邦超人 1 級 ‧ 2015-06-08 17:52:54

MessageBox.Show(....);

會這麼寫,也是幾個台灣的MVP,早期寫WinForms,就把習慣帶到WebForms。
同一批人又開始搞MVC,想也知道會把WebForms帶到MVC去。
根本搞爛MVC。

ScriptManager.RegisterStartScript(....)OrzOrz

0
小財神
iT邦好手 1 級 ‧ 2015-06-09 16:18:48

Hello,

iThelp是iT技術的社群與QA網站,很高興大家在這裡分享技術相關訊息與課程 ^^
我想WinForm習慣帶到WebForm可能是技術人員觀念的過渡
不代表MVC的好壞
會開[快速從Web Form 升級 ASP.NET MVC]這樣的課程表示市場有這樣的需求
技術是中立的
感謝mis2000lab分享研討會訊息

謝謝

+1

技術本就沒有最好,只有最適合

0
gelis
iT邦新手 5 級 ‧ 2015-06-15 12:24:06

Hi

從 WebForm 到 MVC 的確不是升級,打從我寫地一篇文章時,就沒說過是升級,您如果有看過我的文章,應該在裡面找不到 "升級" 這兩個字。

文章中,我不斷的強調,概念夠的程式設計者,即便撰寫 Web Form,也不會把它當成 WinForm 來開發。

網站各層職責切割清楚,只要再多切出一個 (Web API/Services) 我的前端不只 MVC 可以使用操作,Mobile/Device 甚至既有的 WebForm 也可以存取,本來就沒有說是為了 MVC 而 MVC。

另外,小弟的確從 2000年就開始寫程式做專案,當時也只有 WinForm 可以寫,不過我從 2008 的 MVC 1.0 就開始寫 ASP.NET MVC 了,不知道這有什麼問題呢?

gelis iT邦新手 5 級‧ 2015-06-15 12:45:11 檢舉

至於 "升級" 應該是 mis2000 打錯了,我會請他修改,謝謝大家。

如同 fortune 所說,技術本是中立的,沒有好與壞,端看你怎麼使用。

另外,我再補充說明:
概念夠的程式設計者,即便撰寫 Web Form,也會很好維護,所以,課程的重點也在於架構設計,並不在於 WebForm 或是 MVC,因為不管是哪一種,我們都希望是一個妥善的、經過分析、設計、職責分離,彼此偶和度低,容易維護、擴展的網站。但現有的網站大部分沒有做到,所以才開這個課程。

0
gelis
iT邦新手 5 級 ‧ 2015-06-15 19:59:11

還有

請你解釋一下,什麼叫做台灣MVP不是真正有價值的MVP?
還是你的意思是你最有價值?

台灣所有MVP都惹到你了嗎?

看更多先前的回應...收起先前的回應...

專門註冊個帳號來吵架的....偷笑

gelis iT邦新手 5 級‧ 2015-06-15 23:07:12 檢舉

是有人批評在先...

他並沒有說你們MVP不好
他是希望,不要再用以前那種『騙』WinForm開發者,轉入WebForm的那種方式
Web終究就是Web...它不管怎麼樣,就是跟WinForm不一樣
ASP.Net Web Form跟ASP.Net MVC就是不一樣
請不要拿他們來比較
書上最常見的就是...什麼Web Form生命週期、ViewState怎麼不利Web的效能,
數落Web Form的不是,這不應該是用來推廣一門技術的方法:踩死別人,墊高自己

gelis iT邦新手 5 級‧ 2015-06-15 23:37:47 檢舉

我說的是這句話 "台灣的MVP,不是真的有價值的MVP,拿MVP當職業的"

這觀點我同意,如果你有看過我的文章,就會知道我 WebForm 寫過一陣子,兩種我都有在用,也沒有拿這兩種來比較,因為就像我上一篇PO所講的,每個技術(或說工具),都有它存在的意義。

有一句話我真的很常說,一個高竿的工程師所寫的 WebForm 程式,有時效能不見得會輸給 MVC

gelis提到:
台灣的MVP,不是真的有價值的MVP,拿MVP當職業的

這...老弟,你真的要問問自己了...
也請你回msdn的論壇看看...
跟其他國家(含遙遠的海峽對岸)的MSDN論壇看看...
這...真的是MVP該有的高度嗎?

M$給你們所謂MVP的封號,以及一些『額外』的bonus,
不外乎就是希望各位能夠像藏於家中的折凳一樣
藏於民居,殺人於無形
只是...你去論壇看看
我只看到....唉呦...MVP好了不起哦...別人的方法一樣可以解決問題,
怎麼?跟你不一樣不行啊?

gelis iT邦新手 5 級‧ 2015-06-15 23:57:18 檢舉

我不搞論壇的,你應該搜尋不到我在 MSDN 的回覆,有也只有兩三篇

我知道你講的... 但,大家同樣是 IT 工作者,我認為這樣說還是不恰當..

至於你說的 "這...真的是MVP該有的高度嗎?" 你可以舉例?

gelis提到:
舉例

冰凍三尺,非一日之寒
其實,說真的,我...不認識你...gelis...毆飛毆飛
但是但願gelis能夠有不一樣高度,去講解你擁有的知識
謝謝簽名灑花

0
外獅佬
iT邦大師 1 級 ‧ 2015-06-15 23:36:43

報告賽老大、mislab2000老大、蓋里斯小弟弟....
小弟我可以做個結論嗎?

看更多先前的回應...收起先前的回應...
總裁 iT邦好手 1 級‧ 2015-06-16 09:22:14 檢舉

結論是??...疑惑

iT邦幫忙MVPwiselou提到:
小弟我可以做個結論嗎?

結論是外獅佬要跟老鷹去吃早餐嗎偷笑
可以來台北找老鷹吃飯吃

總裁 iT邦好手 1 級‧ 2015-06-16 09:26:03 檢舉

整天只知道吃...毆飛

沒有整天啊...睡覺的時候沒吃毆飛

賽門 iT邦超人 1 級‧ 2015-06-16 09:30:47 檢舉

iT邦幫忙MVPwiselou提到:
小弟我可以做個結論嗎?

請...請...不要客氣,獅王請做個結論....謝謝

結論就是...天亮了,該上班了打嗑睡

wiselou提到:
結論就是...天亮了,該上班了

這個結論真恐怖....失神

總裁 iT邦好手 1 級‧ 2015-06-16 09:43:00 檢舉

wiselou提到:
睡覺的時候沒吃

老鷹應該還是有在偷吃...偷笑

cdfu提到:
老鷹應該還是有在偷吃...

睡覺時嘴巴旁邊要放魷魚絲偷笑
肚子餓可以吃幾根哈哈毆飛

0
一級屠豬士
iT邦高手 1 級 ‧ 2015-06-16 09:07:52

最好是"架構設計好簡單"啦.
我不知道為何要把資訊專業的東西搞得像賣泡麵那樣,
強調快速,簡單就能弄出食物.泡麵也就是填一下肚子,
沒多少營養的.
MVC 也不過就是許多模式中的一種而已.要說到架構設計,
嗯....難道學會畫一個基本的房子的設計圖,就能說
設計聖保羅大教堂也不難.

看更多先前的回應...收起先前的回應...

快快樂樂學吧 !!!

倒

gelis iT邦新手 5 級‧ 2015-06-16 09:34:32 檢舉

架構設計是沒很簡單,那只是文章標題而已...

文章內容本來就只是初步的說明 (一個 Northwind 的 Orders 而已),距離設計設計聖保羅大教堂應該還有段距離..

gelis iT邦新手 5 級‧ 2015-06-16 09:38:06 檢舉

就如我如上所說,那只是個標題,要我改成 快快樂樂學 其實也沒差~ 所以有必要在這個點討論嗎.. = =

gelis提到:
快快樂樂學

這是松X出的系列哦冷

gelis提到:
就如我如上所說,那只是個標題,要我改成 快快樂樂學 其實也沒差~ 所以有必要在這個點討論嗎.. = =

這就是我們之間的不同,你認為只是個標題.

總裁 iT邦好手 1 級‧ 2015-06-16 09:45:30 檢舉

標題錯表示方向錯,方向如果都錯了,內容還有意義嗎??...疑惑

老闆們最喜歡這種聳動的標題了落寞

如果改成快快樂樂系列,老闆就不會幫我出車錢、請公假毆飛毆飛

總裁 iT邦好手 1 級‧ 2015-06-16 09:50:32 檢舉

不聳動,一點都不聳動,又簡單又快速的,聽起來根本要不到錢呀....XD

gelis提到:
快快樂樂學

不能改成 吃吃喝喝學嗎....吃吃醉醉

一尾 iT邦研究生 1 級‧ 2015-06-16 11:46:37 檢舉

chingfeng提到:
吃吃喝喝學

隨隨便便學怎麼樣
XD

0
賽門
iT邦超人 1 級 ‧ 2015-06-16 09:44:43

對我的發言引發的討論,說聲抱歉。

我想,到此為止吧~~
這篇貼文的標題,真的是....
偷笑
居然出自台灣微軟MVP,真....唉~~
無言

看更多先前的回應...收起先前的回應...
總裁 iT邦好手 1 級‧ 2015-06-16 09:47:46 檢舉

都是你把人家簡單的東西搞複雜的...毆飛

賽大歪樓 ~~~

賽門 iT邦超人 1 級‧ 2015-06-16 09:54:47 檢舉

cdfu提到:
把人家簡單的東西搞複雜的

喔...抱歉~~
原來這是快快樂樂系列。
我真的很抱歉...

混在一起,改成:快快樂樂、吃吃喝喝鹽烤會冷

賽門 iT邦超人 1 級‧ 2015-06-16 10:00:59 檢舉

wiselou提到:
快快樂樂、吃吃喝喝鹽烤會

是要把老鷹抓來烤嗎? 偷笑

一尾 iT邦研究生 1 級‧ 2015-06-16 10:32:54 檢舉

wiselou提到:
鹽烤會

看來本會最重要的配角
應該可以確定是啤酒了
醉哈哈醉哈哈

simon581923提到:
是要把老鷹抓來烤嗎?

這個不好吧!....
老鷹只是路過....逃跑

0
Ken(Bigcandy)
iT邦大師 1 級 ‧ 2015-06-16 18:40:56

賽門哥認真了,不過我認同標題不妥

換個方式、換種生活不是一定能用升級、降級來比喻
尤其比較的條件有很多不同差異時

舉例:
人生進階了:買了汽車
反例:
停車超不便,使用率低,把車賣掉,那麼是退步了!?

舉例:
恭喜你結婚,人生進階了
反例:
選擇單身就是停止進化?

不同工具就像不同生活方式
就算把對方打死、取而代之,也不該出言不遜、造謠中傷
否則就請留點餘地,把自己做好。

我不是在說選舉啦。

0
ithelp
iT邦研究生 5 級 ‧ 2015-06-22 12:22:22

您好,

iThelp對於此篇研討會訊息造成的討論慎重看待,特意留待三天端午節連假之後,大家有所沈澱再來發文,而今看來討論與回應的熱度已經降下,決定來畫下句點。
本篇的討論到此為止。

同時再次聲明
1.技術是中立的,iThelp是以iT”技術”為主軸的問答平臺,感謝大家分享技術相關的資訊與課程,沒有需求或不喜歡的部分,敬請直接略過,任何應用都有人/企業在使用,批判的替代作法是提出技術上更適合的方法。也很歡迎大家秉持理性上來討論。
2.請勿涉入人身攻擊,無論是對個人或群體。微軟的MVP是一群經過層層篩選的技術專家,有明確的選拔指標,可參考此文
若再發生以人廢言或者攻擊技術/群體的發言,將扣點處理。

希望大家共同維持iT邦幫忙技術交流的純粹性
謝謝
iThelp

我要留言

立即登入留言