Design Patterns 1 : Template Method

A template method is a method that the whole thing and the sequences to achieve this could be remained, but the detailed steps could be customized as the requirement changed.

 

 

class Thing

{

public:

// This is the template method.

void start()

{

step1();

step2();

step3();

}

 

virtual ~Thing() {}

 

private:

virtual void step1() {}

virtual void step2() {}

virtual void step3() {}

};

 

 

class Something : public Thing

{

private:

virtual void step1 (){ /* do setp 1 */}

virtual void step2 (){ /* do setp 2 */}

virtual void step3 (){ /* do setp 3 */}

};

 

 

The logic in start method can remain the same, the steps could be customized as needed.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Here are 23 popular design patterns in C programming language: 1. Singleton pattern: restricts a class to have only one instance, while providing a global access point to this instance. 2. Factory pattern: creates objects without specifying the exact class of object that will be created. 3. Abstract Factory pattern: provides an interface for creating families of related or dependent objects without specifying their concrete classes. 4. Builder pattern: separates the construction of a complex object from its representation, allowing the same construction process to create various representations. 5. Prototype pattern: creates new objects by cloning an existing object. 6. Adapter pattern: converts the interface of a class into another interface that clients expect. 7. Bridge pattern: decouples an abstraction from its implementation so that the two can vary independently. 8. Filter pattern: provides a way to filter objects using different criteria. 9. Composite pattern: composes objects into tree structures to represent part-whole hierarchies. 10. Decorator pattern: adds behavior to objects dynamically by wrapping them in an object of a decorator class. 11. Facade pattern: provides a simplified interface to a large body of code. 12. Flyweight pattern: conserves memory by sharing data that can be shared among multiple objects. 13. Proxy pattern: provides a placeholder object that controls access to the original object. 14. Chain of Responsibility pattern: passes a request sequentially along a dynamic chain of receivers until one of them handles it. 15. Command pattern: creates objects that encapsulate actions and parameters. 16. Interpreter pattern: provides a way to evaluate language grammar or expression. 17. Iterator pattern: accesses the elements of an object sequentially without exposing its underlying representation. 18. Mediator pattern: allows loose coupling between classes by being the only class that has detailed knowledge of their methods. 19. Memento pattern: captures and externalizes an object's internal state so that the object can be restored to this state later. 20. Observer pattern: establishes a one-to-many relationship between objects, where one object is the subject and the others are observers. 21. State pattern: allows an object to alter its behavior when its internal state changes. 22. Strategy pattern: defines a family of algorithms, encapsulates each one, and makes them interchangeable. 23. Template Method pattern: defines the skeleton of an algorithm in a method, deferring some steps to subclasses. These patterns can help you write maintainable, reusable, and scalable code in C. However, they are just guidelines, and it's up to the programmer to decide when and how to apply them in specific situations.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值