本文发表在 rolia.net 枫下论坛1. 如果想学WINDOWS平台下编程, 最好直接进入.NET. 否则除非是工作中需要. 学旧知识有助于了解历史, 以及可以让人看起来不是新手, 仅此而已.
2. 不要把METHODOLOGY或程序架构(FRAMEWORK)和具体技术混为一谈. 有些时候架构会受技术细节影响, 但它们根本上是独立于语言和平台的. 比如说, 模块化, 不是说非要某种语言才能实现, 难道用C写不出COMPONENT吗?难道C++程序一定是OO结构吗?
3. 如上所述, 不要把N-tier扯进来, 也不要把N-tier和STANDALONE程序对立起来. 同样地, 也不要把WINDOWS结构和你的程序的结构混为一谈. 难道你是要写一个OLE SERVER来替换掉WINDOWS里的一个模块吗?才非要用COM?
4. 不要一想到"TIER", 就一定是网络上的应用. STANDALONE程序同样可以应用"层"的概念来设计它的ARCHITECTURE. 目标是降低模块之间的偶合性. 不要立即和具体技术联系起来. 要去找设计方法.
5. 直接生成和调用COM, 就有许多前处理和后处理(PLUMBING). .NET封装了这些麻烦, 这是.NET可以大幅度提高PRODUCTIVITY(生产效率)的原因. 同时.NET支持多语言杂交. 微软的出发点是现有程序员可以用他们原来最拿手的语言编程,而不需要学习新语言. 这是另一个提高PRODUCTIVITY的措施.
6. .NET支持COM以及非.NET环境(UNMANAGED ENVIRONMENT)中模块之间的相互调用. 你不用扔掉旧的东西, 但新的系统可以用.NET来开发并立即调用旧的组件. 减少了企业的顾虑.
7. 如果需要.NET中没有封装到的函数或库, 可以在.NET PROJECT中加入定义然后立即使用. 也不必非用非.NET模块来开发.更多精彩文章及讨论,请光临枫下论坛 rolia.net
2. 不要把METHODOLOGY或程序架构(FRAMEWORK)和具体技术混为一谈. 有些时候架构会受技术细节影响, 但它们根本上是独立于语言和平台的. 比如说, 模块化, 不是说非要某种语言才能实现, 难道用C写不出COMPONENT吗?难道C++程序一定是OO结构吗?
3. 如上所述, 不要把N-tier扯进来, 也不要把N-tier和STANDALONE程序对立起来. 同样地, 也不要把WINDOWS结构和你的程序的结构混为一谈. 难道你是要写一个OLE SERVER来替换掉WINDOWS里的一个模块吗?才非要用COM?
4. 不要一想到"TIER", 就一定是网络上的应用. STANDALONE程序同样可以应用"层"的概念来设计它的ARCHITECTURE. 目标是降低模块之间的偶合性. 不要立即和具体技术联系起来. 要去找设计方法.
5. 直接生成和调用COM, 就有许多前处理和后处理(PLUMBING). .NET封装了这些麻烦, 这是.NET可以大幅度提高PRODUCTIVITY(生产效率)的原因. 同时.NET支持多语言杂交. 微软的出发点是现有程序员可以用他们原来最拿手的语言编程,而不需要学习新语言. 这是另一个提高PRODUCTIVITY的措施.
6. .NET支持COM以及非.NET环境(UNMANAGED ENVIRONMENT)中模块之间的相互调用. 你不用扔掉旧的东西, 但新的系统可以用.NET来开发并立即调用旧的组件. 减少了企业的顾虑.
7. 如果需要.NET中没有封装到的函数或库, 可以在.NET PROJECT中加入定义然后立即使用. 也不必非用非.NET模块来开发.更多精彩文章及讨论,请光临枫下论坛 rolia.net