8

我面临着编写一个框架来简化对大型复杂对象库 ( ArcObjects ) 的使用。对于创建此类框架,您会建议哪些指导方针?静态方法是首选吗?您如何处理诸如日志记录之类的事情?您如何在未来证明您的框架代码不受供应商可能引入的更改的影响?

我想到了我从 NLog 和NetTopologySuite等项目中看到的 NHibernate、log4net 和代码的所有各种包装器和助手,我看到了很多好的方法,但老实说,我不知道从哪里开始.

顺便说一句 - 我正在使用 C# 3.5,但它更多的是关于推荐的方法而不是语言。

4

4 回答 4

5

Brad Abrams 的《框架设计指南》一书就是关于这一点的。也许值得一瞧。

于 2008-08-27T02:51:35.987 回答
2

尝试编写更灵活的代码。例如,如果您有一个接受数组作为参数的方法,您是否能够接受 IEnumerable 或 IList 代替?

于 2008-08-27T15:39:46.387 回答
1

我认为你的一致性比你遵循的约定更重要。就未来的自我验证而言,这与您正在为其构建框架的代码有关。在砖房上建造比在沙地上建造要容易得多。

于 2008-08-27T02:57:41.103 回答
1

为框架编写代码与编写应用程序代码完全不同。

在编写框架级代码时,我一直参考(并让其他人参考)类库开发人员的设计指南。

于 2008-10-13T09:56:20.867 回答