A new spin on the template method pattern using FP/OOP

In this section, we will demonstrate how the template method pattern can be implemented using imperative programming techniques, and we will refactor the code to write an FP one. As a concrete example, we plan to use the computation of Internal rate of return (IRR) as a running example.

To focus on the essentials, let us quickly hack an engine to compute the IRR, given a series of payments (List<double>), the rate, and the period. As a first step, we need to compute the present value of a series of payments by using the technique of discounting. The following routine computes the present value of the series of payments:

 public static double CashFlowPVDiscreteAnnual( List<double> arr, double ...

Get .NET Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.