MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
- Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
- View(视图) - 视图代表模型包含的数据的可视化。
- Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
quotes = (‘A man is not complete until he is married. Then he is finished.‘, ‘As I said before, I never repeat myself.‘, ‘Behind a successful man is an exhausted woman.‘, ‘Black holes really suck...‘, ‘Facts are stubborn things.‘) class QuoteModel: def get_quote(self, n): try: value = quotes[n] except IndexError as err: value = ‘Not found!‘ return value class QuoteTerminalView: def show(self, quote): print(‘And the quote is: "{}"‘.format(quote)) def error(self, msg): print(‘Error: {}‘.format(msg)) def select_quote(self): return input(‘Which quote number would you like to see?‘) class QuoteTerminalController: def __init__(self): self.model = QuoteModel() self.view = QuoteTerminalView() def run(self): valid_input = False while not valid_input: n = self.view.select_quote() try: n = int(n) except ValueError as err: self.view.error("Incorrect index ‘{}‘".format(n)) else: valid_input = True quote = self.model.get_quote(n) self.view.show(quote) def main(): controller = QuoteTerminalController() while True: controller.run() if __name__ == ‘__main__‘: main()