Friday, December 9, 2011

Template Design Pattern

Template Design Pattern එකේ අර්ථ දැක්වීම මෙහෙමයි.

The template design pattern defines the steps of an algorithm and allows sub classes to provide the implementation for one or more steps.

Template pattern එකේදී සිදු කරන්නේ algorithm එකක program skelton එක define කිරීමයි.

Sub classes වලට අවස්ථාව හිමිවෙනවා, මේ algorithm එකේ steps එකක් හෝ වැඩි ගණනක් override කිරීමෙන් තමන්ගේම වන implementation නිර්මාණය කර ගන්නට.

මෙයින් සිදු කෙරෙන්නේ සැබැවින්ම මූලික algorithm අනුගමනය කරමින්ම විවිධ behaviours වලට අවස්ථාව දීමක්..

Object oriented programming වලදී පලමුව algorithm design එකේ basic steps ඇතුලත් වන class එකක් නිර්මාණය කෙරෙයි.

මේ steps , implement කෙරෙන්නේ abstract methods හරහාය.

පසුව සැබෑ ක්‍රියාවලීන් නිර්මාණය කර ගැනීමට sub classes මඟින් මෙම methods, override කරගනු ලබයි.

එමනිසා general algorithm එක base class එකේ ඇති අතර අවශ්‍ය වෙනස්කම් sub classes වලදී සිදු කිරීම සිදුවෙයි.

උදාහරණයක් සලකමු. මෙන්න super class එක..


public abstract class CoffeineBeverage{

final void prepareRecipe(){
boilWater();
brew();
pourInCup();
addCondiments();
}

abstract void brew();
abstract void addCondiments();

void boilWater(){
Sytem.Out.println ("Boiling Water");
}

void pourinCup(){
System.Out.println ("Pouring into Cup");
}
}

මෙන්න sub classes ...

1.
public class Tea extends coffeineBeverage{
public void brew(){
System.out.println ("Steeping the tea");
}
public void addCondiments(){
System.out.println ("Adding Lemon");
}

2.
public class Coffee extends coffeineBeverage{
public void brew(){
System.out.println ("dripping coffee through filter");
}
public void addCondiments(){
System.out.println ("Adding sugar and milk");
}


මෙන්න executable class එක.....


public class test{

public static void main (String args[]){
Tea t = new Tea();
t.prepareRecipe();

Coffee c = new Coffee();
c.prepareRecipe();

}
}

No comments:

Post a Comment