编写框架的准则

时间:2020-03-05 18:43:37  来源:igfitidea点击:

我面临着编写一个框架来简化使用大型复杂对象库(ArcObjects)的工作。我们对创建这种框架有什么建议?首选静态方法吗?我们如何处理日志记录之类的事情?我们将来如何从供应商可能引入的更改中证明框架代码?

我想到了我从NHibernate,log4net和从NLog和NetTopologySuite等项目中读取的代码中看到的所有各种包装器和辅助器,我看到了很多好的方法,但是老实说,我无所适从。

顺便说一句,我正在C3.5中工作,但更多的是关于推荐的方法,而不是语言。

解决方案

回答

布拉德·艾布拉姆斯(Brad Abrams)的《框架设计指南》一书就是关于这一点的。也许值得一瞧。

回答

我认为保持一致比遵循什么约定更为重要。至于使自己适应未来的需要,这与我们要为其编写框架的代码有关。在砖房里建房子比在沙房上建造起来容易得多。

回答

尝试编写代码以使其更加灵活。例如,如果我们有一个接受数组作为参数的方法,那么我们是否可以接受IEnumerable或者IList?

回答

为框架编写代码与编写应用程序代码绝对有很大不同。

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