Home
Insert
Update snippet 'Template pattern'
Title
Passcode
Description
Template pattern is a behavior-based pattern. Realized the importance of high order function, this is a way to use high order function. Still keep the type structure to organize my code.
Source code
let connect conStr = printfn "connect to database: %s" conStr let query queryStr = printfn "query database %s" queryStr let disconnect () = printfn "disconnect" type Template(connF, queryF, disconnF) = member this.Execute(conStr, queryStr) = this.TemplateF conStr queryStr member this.TemplateF with get() = let f conStr queryStr = connF conStr queryF queryStr disconnF () f let template() = let s = Template(connect, query, disconnect) s.Execute("<connection string>", "select * from tableA") template()
Tags
design patterns
design patterns
Author
Link
Reference NuGet packages
If your snippet has external dependencies, enter the names of NuGet packages to reference, separated by a comma (
#r
directives are not required).
Update