MVC : python实现
不得不承认python是一门强大的语言,也因此才能hold得住人工智能的逻辑实现
MVC的妙处:只要Model的数据结构内容和结构明确,Controller对抽象的View即前面明确的Model的控制逻辑是几乎不怎么改动的,那么。
1、任意替换View的功能已不加一行代码给你奉献上
2、一旦Model的数据更新了,View就会通过Controller给你自动刷新视图数据
class Model:def __init__(self,data):self.data = datadef get_data(self):return self.datadef set_data(self,new_data):self.data = new_dataclass View:def __init__(self,model):self.model = modeldef display(self):# View Grabs model data and updates itselfprint("Model data:",self.model.get_data())# View alerts Controller of a particular event!def view_event(self):print("to change model value.")class Controller:def __init__(self,model,view):self.model = modelself.view = viewdef alert_by_view(self):self.view.view_event()# Controller updates the modelself.model.set_data("hhh")def update_view(self):new_data = self.model.get_data()self.view.display()# models alerts view that it has changeself.model.set_data(new_data)m = Model("9527")
v = View(m)c = Controller(m,v)
c.update_view()c.alert_by_view()
c.update_view()
输出:
Model data: 9527
to change model value.
Model data: hhh
在这个例子中,Model类有一个数据成员和一个用于获取和设置数据的方法。View类有一个Model对象,并有一个用于显示Model数据的方法。Controller类也有一个Model对象和一个View对象,并有一个用于更新View的方法。Controller的方法首先获取Model的新数据,然后显示旧的数据,最后设置新数据。这样,Controller就可以在不改变Model和View的情况下修改View。

上述MVC图,跟python代码是完全吻合的,您品