C#OAuth 2.0库-如何实现域模型
OAuth2.0规范变得越来越稳定(http://tools.ietf.org/html/draft-ietf-oauth-v2)我将为一个内部项目实现C#OAuth 2.0库。我想听听关于如何为图书馆实施清晰领域的意见。主要关注点是:C#OAuth 2.0库-如何实现域模型,c#,oauth,oauth-2.0,C#,Oauth,Oauth 2.0,OAuth2.0规范变得越来越稳定(http://tools.ietf.org/html/draft-ietf-oauth-v2)我将为一个内部项目实现C#OAuth 2.0库。我想听听关于如何为图书馆实施清晰领域的意见。主要关注点是: 如何命名类,规范中描述具体概念的每一个或大多数关键字是否都应划分为单独的类 如何命名名称空间,规范中讨论的每一个主要主题是否都应该成为一个单独的名称空间(身份验证、服务器、客户端、安全性等) 服务器和客户机资源应该如何建模(作为类内的属性或内部类) 还有更多我
- 如何命名类,规范中描述具体概念的每一个或大多数关键字是否都应划分为单独的类
- 如何命名名称空间,规范中讨论的每一个主要主题是否都应该成为一个单独的名称空间(身份验证、服务器、客户端、安全性等)
- 服务器和客户机资源应该如何建模(作为类内的属性或内部类)
- 还有更多我会在他们出现时列出
编辑:签出了DotNetOAuth CTP,但显然他们没有提供一个干净的模型作为灵感来源。您可能走对了方向。一般来说,类和属性的名称应该主要遵循规范,并且应该在XML文档中包含指向规范的链接。通过匹配名称,熟悉该标准的人员可以更容易地理解代码在做什么 我强烈建议在整个项目中包含单元测试。这不仅有助于维护每个构建的完整性,而且还会暴露出不可用的区域。例如,如果您发现自己必须使用错综复杂的类和方法来简单地请求某些内容的身份验证,那么您需要对其进行重构,以便对库的使用者更方便 基本上,您的优先级应按以下顺序排列:
也就是说,我建议不要使用过多的名称空间。对人们来说,做一个
包含MyOpenAuth
比包含3个不同的名称空间要容易得多。在看起来合乎逻辑的地方使用它们,但一般来说,开放身份验证的概念可以被视为它自己的主题域(在单个名称空间的保护伞下)。但是,这取决于你。你可能在正确的轨道上。一般来说,类和属性的名称应该主要遵循规范,并且应该在XML文档中包含指向规范的链接。通过匹配名称,熟悉该标准的人员可以更容易地理解代码在做什么
我强烈建议在整个项目中包含单元测试。这不仅有助于维护每个构建的完整性,而且还会暴露出不可用的区域。例如,如果您发现自己必须使用错综复杂的类和方法来简单地请求某些内容的身份验证,那么您需要对其进行重构,以便对库的使用者更方便
基本上,您的优先级应按以下顺序排列:
也就是说,我建议不要使用过多的名称空间。对人们来说,做一个
包含MyOpenAuth
比包含3个不同的名称空间要容易得多。在看起来合乎逻辑的地方使用它们,但一般来说,开放身份验证的概念可以被视为它自己的主题域(在单个名称空间的保护伞下)。但是,这取决于你。回答得好。如果有更多在规范和领域模型方面有专业知识的人写下他们的意见,那就太好了。回答得好。如果有更多在规范和领域模型方面有专业知识的人写下他们的意见,那就太好了。。