[RefactoringToPatterns] 8.3 Replace One/Many Distinctions With Composite

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 8.3 Replace One/Many Distinctions With Composite 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 8.2 Extract Composite

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 8.2 Extract Composite 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 8.1 Form Template Method

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 8.1 Form Template Method 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 7.6 Replace Conditional Dispatcher with Command

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 7.6 Replace Conditional Dispatcher with Command 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 7.5 Replace Implicit Tree with Composite

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 7.5 Replace Implicit Tree with Composite 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 7.4 Replace State-Altering Conditionals with State

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 7.4 Replace State-Altering Conditionals with State 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 7.3 Move Embellishment to Decorator

此系列文章是我閱讀《Refactoring To Patterns》過程中實際演練的筆記。閱讀過程中發現若沒有相當的 Design Patterns、Refactoring 底子,此書真的不易閱讀,必須伴隨實際操作才能更理解每個步驟具體的方式,故在這記錄之餘也跟各位分享。

書中是使用 Java 的程式碼作為範例,而我比較熟稔 C#,所使用的演練環境為:Visual Studio 2017、ReSharper、VsVim。過程中會因應 ReSharper 的功能,所以有些許的調整以便更「優雅」的進行重構。

此篇是關於 7.3 Move Embellishment to Decorator 的具體演練。

...繼續閱讀 »

[RefactoringToPatterns] 7.2 Replace Conditional Logic with Strategy

​此系列文章是我閱讀《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 的具體演練。

...繼續閱讀 »

[LINQ] C# LINQ 關鍵字筆記

  • 5217
  • 0
  • 2017-11-19

LINQ 如同 C# 一般,是門易學難精的學問。也或許有人會覺得,要用再查就好啦~ Stackoverflow 滿滿的東西可以挖呢!但問題就在很多時候連關鍵字該怎麼下都想不出來,先記憶一些心法,我想會非常有幫助。細節再 Google 就好,至少關鍵字可以下得出 LINQ 的關鍵字啊!

※ 以下範例程式碼均來自黃忠成老師 skilltree 課程講義範例。

...繼續閱讀 »

C# 禁忌之術 method 修飾字 — new

  • 962
  • 0
  • 2017-10-22

C# 的繼承架構中,除常見的 virtualoverride 修飾字之外,再來就是 new 這個禁忌之術啦(不是 Class1 obj  = new Class1();  這種 new 啊~)!!何謂禁忌之術?以下的介紹就可以讓你瞭解為何不要輕易使用,很容易造成程式碼難以閱讀。各可怕的是在不知不覺中可能就使用了,不小心就會啟動的禁忌之術才是它可怕的地方,完全是手滑就開大的節奏。

...繼續閱讀 »

C# 變數型別區分

  • 2164
  • 0
  • 2017-10-15

這篇文章主要會簡單探討這三種變數型別如何分類:Primitive Type (基礎型別)Reference Type(參考型別)Value Type(資料型別)。但不會提及使用的差異性。若有錯誤,請多多指教。

 

...繼續閱讀 »