asp.net:
asp.net的webForm以其容易上手而著称,如果你深入的理解了其页面生命周期后,你会发现这好像又是在“炒菜”,而我们要做的只是在不同的“炒菜步骤”内去定制我们的一些小创意,可能在Page_PreInit里、在Page_Init里、在Page_Load里或其它事件里,无论如何,您逃不过如来佛的手掌心,你要做的工作,就是在这些事件里去定制,换句话说,你搞不出来“宫保鸡丁”,想搞个“宫保鸡丁”该怎么办?asp.net MVC 粉墨登场……自己可以分析下,这里就偷懒省略了。
从炒菜到实例分析,现在我们基本上对软件架构有了一个大概的认识:
认识1:框架架构是有边界的,不光如此,你必须有全局的概念才能去设计框架。所谓边界是针对不同的业务,比如MFC是针对传统的桌面程序,当遇到WEB时,似乎就不怎么灵光了,不然微软不会花费那么多功夫去推.NET。
认识2:框架的实现是组件的相互关联(通过接口,事件等),如果你手里有些基本的类库,不要告诉我是框架。
认识3:设计框架不是为了好玩(其实它本身并不好玩),因为你要为“两个人”负责:业务和使用框架的人。建立在你框架上的应用必须能解决你实际的业务问题,同时要考虑怎么样让开发人员能“懒惰”下来,比如就是做做填空题。
认识4:设计框架要有一个好的框架思想,和具体语言无关,但你必须明白,不同的语言,甚至相同的语言去实现的方式又不相同,比如MFC采用了宏来实现消息机制(当然,MFC采用虚函数也能实现),而asp.net内采用虚函数等来实现多态。
认识5:你要时刻明白,接下来可能炒的菜就是“宫保鸡丁”,也就是说你要知道自己在干什么,要熟悉自己的“业务”,比如当你设计MFC框架时,你要考虑一个传统的桌面程序要解决的大部分问题会是什么?比如打印,比如进程通信,比如文件操作,比如音视频,数据库操作,ole,等等。同样的,当你来设计 ASP.NET时,因为这道菜是针对HTTP的,这个时候你如果连HTTP是什么都不知道,我想你炒不好这道菜。
OK,我想这篇文章该结束了,因为我们的“菜已炒好”,如果你认真仔细的看到这里,估计已经浪费了你近五分钟的时间,希望能给你带来点思考,比如:架构师就是来“炒菜”,可能吧,也可能我的观点并不完全正确。不过我欢迎聆听每个朋友对架构的理解。谢谢。
原文链接:http://blog.csdn.net/daoxuebao_com/article/details/7663225