Home
> Design Pattern > Contoh Fluent Interface
Contoh Fluent Interface
Fluent interface merupakan pemirikiran dari eric evans dan martin fowler. Merupakan cara untuk mengimplementasikan OO API yang tujuannya membuat code menjadi mudah dibaca. Biasanya diimplementasikan dengan method chaining. Tapi Fluent Interface lebih dari itu.
Ini adalah contoh code yg fluent dan tidak
namespace Example.FluentInterfaces { using System; public interface IConfiguration { void SetColor(string color); void SetHeight(int height); void SetLength(int length); void SetDepth(int depth); } public interface IConfigurationFluent { IConfigurationFluent SetColor(string color); IConfigurationFluent SetHeight(int height); IConfigurationFluent SetLength(int length); IConfigurationFluent SetDepth(int depth); } public class Configuration : IConfiguration { string color; int height; int length; int depth; void SetColor(string color) { this.color = color; } void SetHeight(int height) { this.height = height; } void SetLength(int length) { this.length = length; } void SetDepth(int depth) { this.depth = depth; } } public class ConfigurationFluent : IConfigurationFluent { string color; int height; int length; int depth; IConfigurationFluent SetColor(string color) { this.color = color; return this; } IConfigurationFluent SetHeight(int height) { this.height = height; return this; } IConfigurationFluent SetLength(int length) { this.length = length; return this; } IConfigurationFluent SetDepth(int depth) { this.depth = depth; return this; } } public class ExampleProgram { [STAThread] public static void Main(string[] args) { //Standard Example IConfiguration config = new Configuration(); config.SetColor("blue"); config.SetHeight(1); config.SetLength(2); config.SetDepth(3); //FluentExample IConfigurationFluent config = new ConfigurationFluent().SetColor("blue") .SetHeight(1) .SetLength(2) .SetDepth(3); } } }
Categories: Design Pattern
Design Pattern, oop
loh… koq gak kau approve comment ku wel?
udh kok
yang kemaren? gak ada ya?
ga ada bro ..
ga kesubmit mungkin
hm.. okelah kuketikkan lagi lah.
dulu pun kupikir seperti itu bro. soalnya pernah ada kuliat sebuah java library(lupa dapat dari mana, tapi seingatku dari si joshua marpaung hehehe), dan cara implementasinya mirip dengan yang kau jelaskan diatas cess. kupikirpun dengan membuat sebuah API yang user friendly, akan membuat koding terasa aman dan nyaman. wakaka… pernah terpikir ku membuat API2 kayak gitu, tapi berat lah. klo gak ada donasi, atau gak ada yang bayar, sama aja nyapek2in ngetik koding ribet aku. cemana klo kita cari donasi wel? wakakakaka…. biar kita gantengkan dunia per-Java an ini? wakakaka… tapi klo kau gak mau, buatkan lah samaku dulu API2 yang udah kau tulis ya? hahahahah… sesama teman kan mesti gratis.. wakakaka
ini ada api yg keren dan bersahabat. yg bikin si eric evans. yg cetuskan Fluent Interface itu.
Dulu aku juga make kelas Calendar dari java itu ngeh kali rasanya. Karena banyak kali yg perlu disetting2.
Mungkin mereka mikirnya supaya flexible kali ya.. Jadi dibikin sekompleks itu. Jadi sulit baca codingnya. Ga human readable. ini ada library time dan money yg cool.
keren lah pokoknya. kw cari aja di sni gand. tingal dot dot dot. dan mudah baca codingnya. malah macam baca novel aja. seperti cerita…
http://timeandmoney.sourceforge.net/
aku kemaren malam udh coba itu. enak kali makenya
oke segera ke TKP. tapi cemana rencana kita itu? wakakaka