samedi 23 septembre 2017

How to make comparison an operation implemented by subclasses and Template pattern?

I started self learning design patterns from Design Patterns by Gang of Four

Parameterized types give us a third way (in addition to class inheritance and object composition) to compose behavior in object-oriented systems. Many designs can be implemented using any of these three techniques. To parameterize a sorting routine by the operation it uses to compare elements, we could make the comparison

  1. an operation implemented by subclasses (an application of Template Method (325)),
  2. the responsibility of an object that's passed to the sorting routine (Strategy (315)), or
  3. an argument of a C++ template or Ada generic that specifies the name of the function to call to compare the elements.

I looked up the template method, but was still wondering how the first way "make the comparison an operation implemented by subclasses (an application of Template Method)" is done?

I'd appreciate some example(s) in whichever OO language: C++, C#, or Java.

Thanks.

Aucun commentaire:

Enregistrer un commentaire