Python中的模版模式就是基于繼承的一種設計模式,在大型應用程序開發(fā)中得到廣泛應用。它可以定義一個算法的骨架,并允許子類為一個或多個步驟提供其實現(xiàn)方式。
class AbstractClass: def template_method(self): self.base_operation_1() self.required_operation_1() self.base_operation_2() self.hook_1() self.required_operation_2() self.base_operation_3() self.hook_2() def base_operation_1(self): print("AbstractClass says: I am doing the bulk of the work here") def base_operation_2(self): print("AbstractClass says: But I let subclasses override some operations") def base_operation_3(self): print("AbstractClass says: But I am doing the bulk of the work here anyway") def required_operation_1(self): pass def required_operation_2(self): pass def hook_1(self): pass def hook_2(self): pass class ConcreteClass1(AbstractClass): def required_operation_1(self): print("ConcreteClass1 says: Implemented Operation1") def required_operation_2(self): print("ConcreteClass1 says: Implemented Operation2") class ConcreteClass2(AbstractClass): def required_operation_1(self): print("ConcreteClass2 says: Implemented Operation1") def required_operation_2(self): print("ConcreteClass2 says: Implemented Operation2") def hook_1(self): print("ConcreteClass2 says: Overridden Hook1")
上述示例顯示了一個通用抽象類,其中有一些抽象方法,這些方法必須由子類來實現(xiàn)。ConcreteClass1和ConcreteClass2是具體類,它們繼承自AbstractClass并實現(xiàn)其抽象方法。
在該示例中,AbstractClass擁有的template_method方法是算法骨架,它會按照固定的順序調(diào)用方法,同時允許子類根據(jù)需要重寫其中的一些操作。這種方法允許在程序設計中重用代碼,并遵循開放/關閉原則。
Python中的模版模式簡化了代碼的開發(fā),并在大型應用程序開發(fā)中提供了有用的抽象和重用的機制。
上一篇vue前端word模板
下一篇vue前臺登錄驗證