码迷,mamicode.com
首页 > Web开发 > 详细

Internet 网络层协议设计原则(RFC 1958)

时间:2015-01-04 00:04:29      阅读:458      评论:0      收藏:0      [点我收藏+]

标签:

这 10 条原则本是设计网络层协议用的,但我想它们可能对 web 应用的设计同样具有指导意义,因此记录于下(顺序为从最重要到最不重要):

  1. 保证工作。直到确认原型系统可以正常运行,才可以完成设计或确定标准。
  2. 保持简单。有疑问时应该使用最简单的解决方案。即如果一项特性并非绝对必要,就应该被砍掉,尤其当可以通过其他简单特性的组合也可以达到相同效果的时候。(注:也许这里的难点在于确认一套最小功能集)
  3. 明确选择。解决一个问题应当有且只有一种解决方案,这与 Python 的理念相同。
  4. 模块开发。使用栈结构组织功能。
  5. 期望异构性。设计必须通用且灵活,保证兼容性。
  6. 避免静态选项和参数。如果不可避免要使用参数的话,那么最好的办法是让发送和接收方协商一个值,而不是定义静态参数。(注:这一条对 app 的指导意义也许可以转换为,设计对象的时候,请尽可能多地将可配置项添加到参数里,而非使用内部常量)
  7. 寻找好的而不是完美的设计。不必为应对特殊情况而牺牲设计的简单性。特殊情况可以特别处理。
  8. 严格发送,宽容接收。保证自己发出的数据都是严格符合标准的,但在接收时可以尝试对非标准请求进行处理。(注:个人认为这里需谨慎对待,付出额外精力和风险对错误的 api 请求做出正确的相应可能得不偿失)
  9. 考虑可扩展性。即分布式支持。这点还好
  10. 考虑性能和成本。

Internet 网络层协议设计原则(RFC 1958)

标签:

原文地址:http://my.oschina.net/lionets/blog/363305

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!