要開始寫部落格了 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 5月 25, 2017 看了那麼多年的部落格,得到很多知識,非常佩服。 終於我也要開始耕耘這塊地方,希望大家來拜訪時,先看一下我的簡介,有幫助。 那麼,就開始吧~ 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
AngularJS 1.x 學習心得整理(二) 6月 02, 2017 層次分明,學習就不會感到迷惑 最近公司請我幫忙因為新Web專案要使用的AngularJS Framework而需要接受教育訓練的開發人員規劃SPA相關課程,順便我可以整理一下我這個過來人的學習經驗來分享給新進,於是開始收集這方面資料。 啄木鳥認為最重要的課題是該如何以深入淺出的方式,讓每個人都能具體的,理解從JQuery的開發經驗到AngularJS開發的差異處。 既然都是based on Javascript的擴展應用,一定存在異中求同的方法,藉由基本的Javascript所累積經驗,快速建立可以理解AngularJS Framework設計哲學的基礎。 將新知識疊加到現有知識的秘訣就是要有正確的學習計畫,每一階段主題都需要用心規劃。只要層次分明就不會感到迷惑,對Angular JS來說這樣的學習曲線是最好的,所以我開始設計課程。 JSON(JavaScript Object Notation) 首先,必須針對JSON這個物件(Object)做說明,因為它太重要了! 很多JSON程式人員常常沒有把所使用的 Javascrip 物件(Object) 基礎 打穩就開始玩了起來(包括啄木鳥在內),在職場走了很久技術還是沒有甚麼精進的原因就是甚麼都一知半解,雖能解燃眉之急,但非長久之計。 它的重要性有多高呢?(謎之音:有這麼高...(抬頭張望)) 包含AngularJS以及較知名的ReactJS,當前所有的基於 MVVM 技術框架的Web開發工具中操作的 Data Model/Veiw Model 與系統設計都是集操作JSON技術之大成沒有之一。其他基於互聯網的電子商務的EDI媒介也幾乎都由JSON取代了XML(SAOP)成為主流交換標準。 結論是Web前後端點的資料應用標準都已是「可序列化JSON」的天下。也許有人並不認為 XML已經式微 ,但由於JSON實在太夯了,甚至連與Javascript應用無直接關係的後端資料儲存技術也開始看到JSON活躍的身影。這很像當初XML的情況,而JSON更勝XML當時的風雲程度( MS SQL Server 2016已支援JSON格式資料操作 )。 本段相關連結: 維基百科介紹JSON JSON和XML的比較 當異質平台只是單純使用JSON格式傳遞資料時,不曉得其實JSON... 繼續閱讀
C# 物件屬性的建構賦值與初始化 - C# constructor and object initializer 9月 28, 2019 寫這篇是起因於在臉書討論C# DTO時我講了"建構賦值比物件初始化優先"這句話(其實我的意思是指先執行),不明白的人請我解釋是甚麼意思,所以就完整交代一下個人設計DTO物件的心得。 當然,若設計其他非DTO物件會更複雜一些... DTO不宜設計成一個複雜的邏輯物件,一般來說我們設計DTO物件時主要是做關於[屬性]的驗證和存取層級的規格設定。 另外,屬性的驗證應止於型別與範圍的安全,所以我們用屬性的get和set方法就可以達到這個需求。 設計每個DTO首先都要面臨3個課題,如下: 1.參考型別的屬性建構時是否實例化。 2.屬性型別與範圍的安全驗證。 3.屬性值的存取保護。 DTO要做到上述課題的完美解答,設計者除了要對物件導向的精神有足夠的認知與內化,還需要正確掌握C#語言的執行方式。這裡提供兩個觀念和技巧﹔ 1.要清楚DTO實例化的過程(C#建構函式與初始化程式碼區塊{}的執行順序) 有幾個重點: 1.屬於參考型別的屬性(例如List<T>)若沒有先實例化就沒辦法使用其API。 2.物件初始化語法區塊中無法執行類似 "new myClass{ myList[0] = "my string", ...}" 這樣編譯器會報錯,因為參考型別的實例化必須等到物件本身完成實例化之後,所以物件初始化要賦值屬性時不能參考到其資料結構,就算程式碼已宣告其值都要等到初始化後才能使用。類似以下例子: 2.更進階的觀念:讓關鍵屬性私有化並限制只能於建構時期賦值 由於物件建構階段比物件初始化階段先完成,所以相同屬性若在建構賦值之後會又被初始化覆蓋。 為了保護建構值我們可以在屬性private set中設計驗證程式碼,然後在建構函式傳入值到setter時驗證後才設定其值。這樣建構函式本身簡潔乾淨,屬性值又不會被初始化覆蓋或後續從外部修改。類似以下例子: 寫在最後 也許目前為止看似一切都妥當,但若是遇到非DTO而是較複雜的物件設計,程式常常會由不同程式人員維護,可能會在程式某處重複設定屬性myList的值,而我們本意是只能在建構時以參數設定myList。 有沒有方法保護程式碼呢? 答案是肯定的。 作法是把負責建構關鍵組態的程式設計... 繼續閱讀
AngularJS 1.x 學習心得整理(三) 6月 05, 2017 本系列內容終於真正要進入AngularJS的心得分享了;前篇 AngularJS 1.x 學習心得整理(二) 介紹的JSON技術不知大家都跟上了沒? 網路上有很多精闢的教學文寫得都非常好,這裡先列出啄木鳥學習AngularJS所拜讀過覺得值得推薦給各位朋友的文章,由淺入深依序為( 小朋友,我看你骨骼精奇,是難得一見的練武奇才,這本「AngularJS 1.x 學習心得整理」只賣你10塊錢,不喜歡我這裡還有 ): 推薦的學習清單 1. 一陽指 w3schools AngularJS 教學網站 2. 九陽神功 JavaScript 高级教程 、 JavaScript 物件導向介紹 、 初學者應知道的物件導向 JavaScript 3. 太極拳 淺談Angular.js的Provider機制 4. 易筋經 Angular指令编译原理 5. 獨孤九劍 AngularJS路由深入浅出 6. 如來神掌 AngularJS 常用模块书写建议 7. 乾坤大挪移 AngularJS 寫作方式指南 (AngularJS1.x~2.x皆有) 8. 金鐘罩 AngularJS API Docs 9. 降龍十八掌 Guide to AngularJS Documentation 突然想起「功夫」這部電影台詞,剛好可以順便列出幾篇讓啄木鳥受益良多的AngularJS的技術文章分享給大家。 以下會針對上面的文章連結說明啄木鳥是如何定義它們的學習順序,把這些文章學會了,AngularJS保證你可以運用自如。 基礎 第一優先首推這本 一陽指 秘笈: w3schools AngularJS 教學網站 ,新手由這裡先慢慢逛,能看得懂就一直盡量看下去就對了,代表您程度還不錯,看出了興趣才有信心學更進階的技術。通常您會想立刻就去下載AngularJS開發套件來試試,從做中學加深記憶。 取得AngularJS開發套件的方式有四種:第一種是用 GitHub 下載,這裡有 教學文 ,第二種方法是到 官網下載 ,點選白色按鈕;記得Build選項要選ZIP檔,它會包含所有重要的套件,如圖: 下載並解壓縮後,放到網站Script某個子資... 繼續閱讀
留言
張貼留言