前一陣子工作上手刻了不少 UI,其中有一個發現讓我省了不少功夫,也曾經忘掉。特別記錄一下,避免下次要用到又想不起來...。
The fastest way to add OnPropertyChanged();
.
前一陣子工作上手刻了不少 UI,其中有一個發現讓我省了不少功夫,也曾經忘掉。特別記錄一下,避免下次要用到又想不起來...。
The fastest way to add OnPropertyChanged();
.
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 8.3 Replace One/Many Distinctions With Composite 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 8.2 Extract Composite 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 8.1 Form Template Method 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 7.6 Replace Conditional Dispatcher with Command 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 7.5 Replace Implicit Tree with Composite 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 7.4 Replace State-Altering Conditionals with State 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 7.3 Move Embellishment to Decorator 的具體演練。
此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。
書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,在 GitHub 上找到了相當完整的 Refactoring To Pattern C# Sample Code ,可直接作為演練程式碼。而我的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。
此篇是關於 7.2 Replace Conditional Logic with Strategy 的具體演練。
在十月底的某個半夜一點左右,睡前在床上滑著手機,突然在 FB 看到 Joey 竟然在這大半夜時刻發布開課的消息,立馬詢問相關資訊、填單報名。果不其然,當天中午前就額滿了,還好睡得晚。XD
LINQ 如同 C# 一般,是門易學難精的學問。也或許有人會覺得,要用再查就好啦~ Stackoverflow 滿滿的東西可以挖呢!但問題就在很多時候連關鍵字該怎麼下都想不出來,先記憶一些心法,我想會非常有幫助。細節再 Google 就好,至少關鍵字可以下得出 LINQ 的關鍵字啊!
※ 以下範例程式碼均來自黃忠成老師 skilltree 課程講義範例。
上了黃忠成老師的課,才知道平時用得很開心自在的 Where 竟然藏有陷阱!
C# 的繼承架構中,除常見的 virtual、override 修飾字之外,再來就是 new 這個禁忌之術啦(不是 Class1 obj = new Class1(); 這種 new 啊~)!!何謂禁忌之術?以下的介紹就可以讓你瞭解為何不要輕易使用,很容易造成程式碼難以閱讀。各可怕的是在不知不覺中可能就使用了,不小心就會啟動的禁忌之術才是它可怕的地方,完全是手滑就開大的節奏。
這篇文章主要會簡單探討這三種變數型別如何分類:Primitive Type (基礎型別)、Reference Type(參考型別)、Value Type(資料型別)。但不會提及使用的差異性。若有錯誤,請多多指教。