关于架构(转帖)

我来说说关于如何去掌握Architecture的构建.但是这些发言纯粹是一种学术性的见解,和实际中的情况基本完全不符合,到不是我不联系实际,而是实际上国内的公司基本上还都处于一种很无知而盲目的境地.楼主的boss说的话就很好的证明了这一点.
Architecture的定义我已经在这里做过阐述,就不再多重复.在下面的联结中有我的一些讨论,基本上解答这个问题就足够了.
实际上Architecture基本上都是面向重用的,也就是面向变化的.而一个企业设置(注意是设置而不是设计)Architecture的时候,就意味着其将所有的开发过程和产品都用一种统一的风格来进行.而实际上设置一个Architecture基本上包含的技术因素非常少,我自己的说法是最多占25%.主要的成分是管理和对于市场的把握,而建立在此基础上的企业资源的调配.都是虽然技术的含量不多,但是技术在这里是一个基础性的条件,也是一个必要的条件.而设计(这里是设计)一个Architecture(我指的是在企业内部,而不是说j2ee或者dotnet这样的Architecture),首先就是要掌握目前本身企业的技术活动的各种具体情况,其次就是把握自己过在行业的发展方向,然后就是技术的发展趋势.而对上述三点的把握基本上不是一个企业底层职员所可能知晓的.同时Architecture高度的抽象和概括,细节化是应该经过充分的基于对市场和行业的认识基础之上的,这一点基本上也从根本上消除了通过所谓的学习掌握这项技能的机会.同时Architecture的构建是一个比较长期的过程,也是一个动态化的过程,这也是那些所谓的学习论者的一种不可逾越的鸿沟.而同时由于Architecture是一种高度的抽象,就需要大量的可供抽象的素材,也就是说企业已经进行了大量的实践,或者可以吸取其他人的大量实际操作的经验.而多数情况下,是企业已经有了自己的习惯性的框架framework,在此基础上作抽象,从而得出这个framework的设计主题,基于这个主题来建造Architecture.而实际上单纯的Architecture是没有任何的价值的,还需要基于这个Architecture的各种工具和组件,以及使用这些基础性结构的方法.而这些工作基本上都是以技术为基础的非技术性工作,可以说对于管理和市场的要求更高.
暂时就说这么多,大家可以思考为什么现在的Gates的职务不是CEO,而MS的未来发展方向还主要掌握在他的手中,一个重要的原因就是实际上Gates就和他现在的头衔一样在负责设置MS的Architecture,实际上也只有他才能完成这个工作.

    推荐阅读