Thursday, October 7, 2010

Java සමග Software Design Patterns (3 කොටස | Facade Pattern)

ෆැෂාඩ් | Facade යනු structural ආකාරයේ design pattern එකකි. මෙමගින් කිසියම් සංකීර්ණ උප පද්ධතියක(sub system) lower level classes invoke කිරීම මගින් යම් කාර්‍යයක් සිදුකිරගැනීම සඳහා higher level interface එකක් සපයනු ලබයි. මෙලෙය facade pattern එක යොදමින් කිසියම් පද්ධතියක් සැලසුම් කිරීම නිසා එම පද්ධතියේ coupling යන ගුණය අඩුවීම සිදුවේ එනම් එම පද්ධතියේ ස්ථායීතාවය කෙරෙහි එය සුභදායක ලෙස බලපායි. මීට අමතරව coupling ගුණය අඩුවීම යම් පද්ධතියක කාර්‍යක්ෂමතාවය වැඩිවීම පිනිසද හේතුවේ. යම් system එකකට facade pattern එක apply කල පසු එතුල පවතින සංකීර්ණ sub system එකක් කිසියම් client class කිහිපයක් මගින් access කරනුයේ facade එක හරහාවේ. එමගින් ඉතා විශාල වාසි එම පද්ධතියට අත්වේ. ඉන් එක් වාසියක් නම් client ගේ වෙනසක් නොවන පරිදි සංකීර්ණ sub system එක තුල වෙනස්කම් සිදුලහැකි වීමයි. එමගින් අප විසින් සැලසුම් කරන පද්ධතිය අවුල් ජාලයක් වීම වලකනු ලබයි.



Facade හි ව්‍යුහය
මෙම pattern එක තවදුරටත් වටහා ගැනීම පහසුවීම සඳහා අපි දැන් Facade එක apply කිරීමට පෙර class diagram එකක් සහ Facade design pattern එක apply කිරීමෙන් පසුව ලැබෙන විසඳුමකට අදාල class diagrams සලකා බලමු.

Facade යෙදීමට පෙර

Facade යෙදූ පසු
2වන class diagram එක අධ්‍යයනය කිරීමේදී coupling ගුණාංගය විශාල ලෙස අඩුවී ඇති බව ඔබට වැටහෙනවා ඇති.
අපි මීට පෙර සාකච්ඡා කල Adapter design pattern එක සහ Facade එක මගින් කෙරෙනුයේ classes wrap කිරීමකි. Facade pattern එකේදී වඩා සංකීර්ණ interface එකක් ලැබේ. අපි ඉදිරි පාඩම් වලදී තවත් design pattern පිලිබඳ අධ්‍යයනය කරමු.

2 comments:

  1. comment nodammata mama me site eka digatama kiyawanawa. digatama liyanna malli. Theruwan saranai

    ReplyDelete
  2. ස්තුතියි.
    අයියටත් තෙරුවන් සරණයි!!!

    ReplyDelete