Template Method in VB.NET
Defer the exact steps of an algorithm to a subclass
ReturnDefine the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. Template method provide a skeleton calling sequence of methods. One or more steps can be deferred to subclasses which implement these steps without changing the overall calling sequence.
Please download project with this source code from https://github.com/ViacheslavUKR/StandardDisignOopPattern
1: ' Template Method Design Pattern.
2: ' See description in //www.vb-net.com/ProgramTheory/TemplateMethod.htm
3: Class MainApp
4: ' Entry point into console application.
5: Public Shared Sub Main()
6: Dim aA As AbstractClass = New ConcreteClassA()
7: aA.TemplateMethod()
8: Dim aB As AbstractClass = New ConcreteClassB()
9: aB.TemplateMethod()
10: ' Wait for user
11: Console.ReadKey()
12: End Sub
13: End Class
14:
15: ' The 'AbstractClass' abstract class
16: MustInherit Class AbstractClass
17: Public MustOverride Sub PrimitiveOperation1()
18: Public MustOverride Sub PrimitiveOperation2()
19: ' The "Template method"
20: Public Sub TemplateMethod()
21: PrimitiveOperation1()
22: PrimitiveOperation2()
23: Console.WriteLine("")
24: End Sub
25: End Class
26:
27: ' A 'ConcreteClass' class
28: Class ConcreteClassA
29: Inherits AbstractClass
30: Public Overrides Sub PrimitiveOperation1()
31: Console.WriteLine("ConcreteClassA.PrimitiveOperation1()")
32: End Sub
33: Public Overrides Sub PrimitiveOperation2()
34: Console.WriteLine("ConcreteClassA.PrimitiveOperation2()")
35: End Sub
36: End Class
37:
38: ' A 'ConcreteClass' class
39: Class ConcreteClassB
40: Inherits AbstractClass
41: Public Overrides Sub PrimitiveOperation1()
42: Console.WriteLine("ConcreteClassB.PrimitiveOperation1()")
43: End Sub
44: Public Overrides Sub PrimitiveOperation2()
45: Console.WriteLine("ConcreteClassB.PrimitiveOperation2()")
46: End Sub
47: End Class
See also:
Creational Patterns
- Abstract Factory in VB.NET - Creates an instance of several families of classes.
- Builder in VB.NET - Separates object construction from its representation.
- Factory Method in VB.NET - Creates an instance of several derived classes.
- Prototype in VB.NET - A fully initialized instance to be copied or cloned.
- Singleton in VB.NET - A class of which only a single instance can exist.
- Adapter in VB.NET - Match interfaces of different classes
- Bridge in VB.NET - Separates an object’s interface from its implementation
- Composite in VB.NET - A tree structure of simple and composite objects
- Decorator in VB.NET - Add responsibilities to objects dynamically
- Facade in VB.NET - A single class that represents an entire subsystem
- Flyweight in VB.NET - A fine-grained instance used for efficient sharing
- Proxy in VB.NET - An object representing another object
- Chain of Resp. in VB.NET - A way of passing a request between a chain of objects
- Command in VB.NET - Encapsulate a command request as an object
- Interpreter in VB.NET - A way to include language elements in a program
- Iterator in VB.NET - Sequentially access the elements of a collection
- Mediator in VB.NET - Defines simplified communication between classes
- Memento in VB.NET - Capture and restore an object's internal state
- Observer in VB.NET - A way of notifying change to a number of classes
- State in VB.NET - Alter an object's behavior when its state changes
- Strategy in VB.NET - Encapsulates an algorithm inside a class
- Template Method in VB.NET - Defer the exact steps of an algorithm to a subclass
- Visitor in VB.NET - Defines a new operation to a class without change
Comments (
)
Link to this page:
//www.vb-net.com/ProgramTheory/TemplateMethod.htm
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |