7. 다음 파이썬(Python) 코드에 적용된 디자인 패턴은?
from abc import ABCMeta, abstractmethod
class Order(metaclass=ABCMeta):
@abstractmethod
def execute(self):
pass
class BuyStockOrder(Order):
def __init__(self, stock):
self.stock = stock
def execute(self):
self.stock.buy()
class SellStockOrder(Order):
def __init__(self, stock):
self.stock = stock
def execute(self):
self.stock.sell()
class StockTrade:
def buy(self):
print(“You will buy stocks”)
def sell(self):
print(“You will sell stocks”)
class Agent:
def __init__(self):
self.__orderQueue = []
def placeOrder(self, order):
self.__orderQueue.append(order)
order.execute()
if __name__ == ‘__main__’:
#Client
stock = StockTrade()
buyStock = BuyStockOrder(stock)
sellStock = SellStockOrder(stock)
#Invoker
agent = Agent()
agent.placeOrder(buyStock)
agent.placeOrder(sellStock)
- 1Interpreter Pattern

- 2Strategy Pattern

- 3Memento Pattern

- 4Command Pattern
