zoukankan      html  css  js  c++  java
  • 《.NET设计规范》——学习笔记(2.2)低门栏原则

    框架必须以易于使用的方式来为普通用户提供一个低门栏。

    每个人在第一次接触一个新框架时,都希望其是简单而功能强大的。如果他一开始就感觉其很复杂,则会望而却步。

    • 要确保每个特性域的名字空间只包含哪些用于最常见场景的类型。应该把用于更高级的场景的类型放在子名字空间中。
      例如:System.Net命名空间提供了有关网络的主要API,而更高级的socket API则位于System.Net.Socket子命名空间。
    • 要为构造函数和方法提供简单的重载函数。参数少,且都是基本类型。
    • 不要在为主要的使用场景而设计类型中包含用于高级场景(这里我个人感觉是不常用的意思)的方法。
      通过从框架中减少(或至少不增加)特性,能够使开发人员更有效率。因为需要处理的概念减少了。CLR把多重继承排除在外就是这个原因。
    • 不要要求用户在最基本的场景中显示地实例化一个以上的类型。
    • 不要要求用户在为基本使用场景编写代码之前就进行大量的初始化。
      如果一些初始化是必需的,那么当用户未执行初始化而引起异常时,应该在异常消息中清楚的告诉用户需要做些什么。
    • 要尽可能地(用便利的重载函数)为所有的属性和参数提供合适的默认值。
      当然不要盲目采用,如果默认值会引起错误,自然不可取。
    • 要通过异常来传达API的误用。
      显示错误的原因、如何修正等信息。
  • 相关阅读:
    openOPC与监控页面二
    Node教程——Gulp前端构建工具-教程
    回到顶部插件
    《软件测试52讲》——测试基础知识篇
    计算贝塞尔曲线上点坐标
    少年,不要滥用箭头函数啊
    JS属性defer
    leetcode-572-另一个树的子树
    leetcode-9.-回文数
    leetcode-300-最长上升子序列
  • 原文地址:https://www.cnblogs.com/adaiye/p/886041.html
Copyright © 2011-2022 走看看