当前位置 > 首页 > Asp.net

《.NET设计规范》——学习笔记(2.5)框架设计基础

2007-9-7 17:46:00来源:Asp.net

这篇文章在一定程度上是对前面几篇文章的一个总结。

一个成功的通用框架必须是为广大具有不同的需求、技能和背景的开发人员而设计的。框架设计师面临的最大挑战是为这些多样化的用户群提供即简单又功能强大的框架。

  • 要设计即功能强大又易于使用的框架。
    80/20原则。 要把精力集中在框架中使用最为频繁的部分(20%)
  • 要明确地为具有不同编程风格、需求、技能以及使用不同编程语言的开发人员设计框架。
  • 要了解哪些使用多语言框架的广大开发人员。
    我们往往会只为自己设计API,而没有清楚地考虑用户的真正需求。

渐进框架

针对不同的使用场景,为不同的开发团体提供不同的产品,这种多框架的方法在某种程度上说是成功的,比如MS有Visual Basic程序库,有Win32程序库,也有MFC和ATL,但它也存在严重的缺点:多框架使得使用某个框架的开发人员难以将他们的知识转移到下一个技能等级或使用场景(这通常需要另一个框架)。

  • .NET框架所做的是把VB、MFC、ATL、ASP等这些模型统一起来。无论开发人员使用何种编程语言或者选择何种编程模型,可供使用的API始终都是一致的。
    一个更好的方法是提供渐进框架(Progresive framework)。  从无到有,慢慢积累知识,并应用到以后更高级的使用场景中去。
  • .NET框架就是一个渐进框架。
    渐进框架的目标是覆盖广大的开发人员,但并不是所有可能的开发人员。
    这也应了没有十全十美这句话:不可能满足每一个开发人员的需求。

框架设计的基本原则:

对用户而言,真正的开发效率来自能够轻易地创造非凡的产品,而并非来自能够轻易地创造垃圾。

  1. 场景驱动设计原则
  2. 低门栏原则
  3. 自说明对象原则
  4. 分层架构原则


随风逝去 2007-09-07 17:29 发表评论


  • exchange 2003 .net开发

    2010-9-14 16:37:00

    想做一个exchange开发 要求对每个到达的邮件进行判断,符合要求的才进行转发,邮件客户端是outlook 2007,缺少相关的资料,希望谁帮忙提供有用的资料。

  • Objective-C --- 2,从Hello,World!开始

    2009-3-28 2:33:00

    摘要: 2,从Hello,World!开始现在笔者假设大家已经有了开发的环境。好了,我们开始构筑我们的第一个程序。在开始第一个程序之前,笔者需要提醒大家一下,如果手里面有开发环境的话并且是第一次亲密

  • ASP.NET MVC 3.0 分页控件

    2011-4-24 12:57:00

    看到一些哥们在写MVC的分页控件,我也来凑个热闹,新手上路,请多多包涵,提出中肯意见,不要一味的拍砖,打击士气,以后还会有很多其它控件发布. 效果如下 代码如下 1

  • Writing object to object mapper: moving to generics

    2010-2-20 14:22:00

    In my previous posting about object to object mapping Writing object to object mapper: first imple

  • NHibernate and Manually Assigned Identifiers

    2009-6-11 18:28:00

    Be careful when you use manually assigned identifiers on your entities, because NHibernate looks at

  • SilverLight开发基础答疑(2)

    2007-4-16 21:25:00

    在上一篇 WPF/E开发基础答疑 的文章贴出来后,得到了很多朋友的支持,短短时间内点击量即突破一万。虽然后来在宝玉的帮助下,才发现原来是数据库上的一个存储过程出了一些问题,但大家对于SilverLi

  • Strongly Typed Session Variables in ASP.NET MVC

    2009-9-23 0:24:00

    This post was originally going to be a comment on Jarret@Works blog post about " Using Extensi

  • ASP.NET AJAX 1.0 & AJAX Control Toolkit 在iframe中的"access denied"错误

    2007-2-7 14:50:00

    在iframe或frame中使用另一个域名的ASP.NET AJAX或Toolkit页面,会得到cross-domain access denied错误。 Bleroy 和 Delay 分别pos

  • 。net学习基础之gridView的使用

    2011-4-15 7:00:00

    1.绑定 前台 : < asp : GridView ID =gvUpdateGift run

  • Web Site Globalization With ASP.NET Routing

    2010-2-1 12:02:00

    For those who don’t know, I have this web site http://PauloMorgado.NET/ that I use both as a web