Defined
Template method Pattern: Defines the framework for an algorithm in an operation, and delays some steps into subclasses. The template method pattern allows subclasses to redefine some specific steps of the algorithm without altering the structure of an algorithm.
Realize
Template class
Public Abstract classDrawperson { Public Abstract voidDrawhead (); Public Abstract voidDrawbody (); Public Abstract voidDrawhand (); Public Abstract voidDrawfoot (); /// <summary> ///template fixed, specific details and sub-class implementation/// </summary> Public voidDraw () {drawhead (); Drawbody (); Drawhand (); Drawfoot (); } }
Specific class
Public classJoy:drawperson { Public Override voidDrawbody () {Console.WriteLine ("Skinny Body"); } Public Override voidDrawfoot () {Console.WriteLine ("Shorter Legs"); } Public Override voidDrawhand () {Console.WriteLine ("Short Hands"); } Public Override voidDrawhead () {Console.WriteLine ("The head is relatively small"); } }
Client
class program { staticvoid Main (string[] args) { new Joy (); Joy. Draw (); Console.ReadLine (); } }
Template mode of behavioral pattern