念念不忘,必有迴響。有一口氣,點一盞燈,有燈就有人。

如何使用 F# 實現 Strategy Pattern ?

如何使用 F# 實現 Strategy Pattern ?

Strategy Pattern 是 OOP 中最著名的 Design Pattern,幾乎可以說是 OOP 中 『解耦合』最經典的應用,F# 既然是 Function First Language,就讓我們以 function 的角度重新思考什麼是 『解耦合』。

深入探討 .NET Core 之 Type Forwarding

深入探討 .NET Core 之 Type Forwarding

.NET Core 能跨平台看似很神奇,事實上底層所使用的技術為 Type Forwarding,說穿了就是 Proxy Pattern 的應用。

.NET Core 之 Metapackage 簡介

.NET Core 之 Metapackage 簡介

Metapackage 為 .NET Core 2.0 所提出,目的在簡化對 package 的管理。

如何使用 FP 實現 OOP 的 Polymorphism ?

如何使用 FP 實現 OOP 的 Polymorphism ?

OOP 最自豪的就是 Polymorphism (多型),若使用 FP,該如何實現這個 OOP 的招牌菜呢?

如何使用 C# 實現 Strategy Pattern ?

如何使用 C# 實現 Strategy Pattern ?

Strategy Pattern 是 OOP 中最著名的 Design Pattern,幾乎可以說是 OOP 中使用 interface 最經典的應用,隨著 FP 逐漸受到重視,Strategy Pattern 在實作上也有了新的面貌。

深入探討 TypeScript 之 Generics

深入探討 TypeScript 之 Generics

泛型 是物件導向 多型 的延伸技術,多型是以 interface 為基礎,在 執行時期 決定適當型別;而泛型則是以 type parameter 為基礎,在 編譯時期 決定適當型別。

泛型也是 TypeScript 的一大特色,預計 ECMAScript 將來也不會採用泛型。

深入探討 F# 之 Discriminated Union

深入探討 F# 之 Discriminated Union

將實質上不同的型別,在邏輯上看成相同的型別。如 function 可能回傳 intbool 兩種型別,可為此 function 特別建立 IntOrBool 型別,同時包含 intbool,這就是 Discriminated Union,簡稱 union

若說 tuple 是將不同型別加以 AND,則 union 是將不同型別加以 OR。

如何使用 .NET Core CLI 管理 Package Reference ?

如何使用 .NET Core CLI 管理 Package Reference ?

實務上我們一定會用到別人寫的 NuGet package,我們該如何使用 .NET Core SDK 加入 package reference 呢 ?

如何使用 .NET Core CLI 建立 Solution ?

如何使用 .NET Core CLI 建立 Solution ?

對於大型專案,我們可以建立 solution 管理眾多 project,只要對 solution 下 dotnet build ,就可以全部 project 都一起 build。

如何使用 .NET Core CLI 建立 Unit Test ?

如何使用 .NET Core CLI 建立 Unit Test ?

雖然我們可以使用 console app 來測試 class library,但比較好的方式是建立 unit test,搭配各種測試案例測試 class library 的結果。