总算是弄清楚三层架构和mvc的区别了
有人把这两种方式比喻中国的社会制度和美国人的生活方式,我觉得不是太恰当,这两种思想没有那么不沾边
他们都是尽可能使代码清晰和重用,加强可维护性,
mvc的理解就是(摘自维基百科)
骨架(Model模型) “数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。(比较:观察者模式(软件设计模式))
外皮(View视图) 视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
筋(Controller控制器) 控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。
而三层架构是业务逻辑层(BLL)、数据访问层(DAL)和实体层、视图层,
而MVC的model层其实就是三层架构的数据访问层了和业务逻辑层的结合,三层架构没有了控制器这一部分,其实就是在空间的事件处理中代替了控制器,感觉这是asp.net中耦合代码的地方,没有像jsp那样彻底分离视图层与逻辑层的关系,jsp中在m和v中间加上一个控制器,就像人的大脑中枢,一切行为由此控制器负责,
view视图层也就是等同于三层架构的视图层,
其实也没啥,就这样,开发的话感觉业务上的东西还没有搞清楚,需要沉淀一段时间再说。
技术上的问题自己可以解决,无非是拖控件粘代码,又没有过于复杂的业务逻辑
倒是一些流行的技术这里用的不多,ajax,JavaScript一定要好好看看,c#的一些细节和.net底层实现也要慢慢看
动手能力一直是我的一大短板,以后要多动手少动口,实践实践再实践
突然很烦,啥也不想看,很迷茫