库和应用程序代码之间的区别?

时间:2009-08-13 08:16:04

标签: architecture structure

这个问题来自Web应用程序,虽然它也适用于其他类型的应用程序。我正在使用MVC。

我有应用程序代码(模型,视图,控制器,表单,帮助程序等)和库代码(外部库和带有自编写数据库映射器,json转换器等的内部库)。

我想知道你通常在应用程序和库代码之间划线(当两者都是内部编写的时候)?

某些库代码更具有项目特定性,但仍然有点抽象。

3 个答案:

答案 0 :(得分:8)

库的代码是可重用的,应用程序的代码通常不是。如果代码与应用程序无关,请将代码保留在库中。

如果有疑问,请尝试回答这个问题:

  

如果我写另一个应用程序,这段代码会保留吗?

答案 1 :(得分:4)

我的一般经验法则是:任何可能在另一个项目中使用的东西,并且可以很容易地不依赖于任何特定于应用程序的代码(并且有各种各样的技术可以做到这一点)应该进入图书馆。因此,如果它可以重复使用,则会进入库中。

答案 2 :(得分:2)

当面对这些分类问题时,我想知道一件事:错误分类的后果。

这段代码是“库”,代码是“应用程序”......为了这个区别,它的好处是什么?如果我们将一些代码放在错误的类别中会发生什么?

一个可能的答案:

它会影响代码的重用。让我们假设我们有一个策略:库代码在带有所需头文件的DLL中可用。应用程序代码只是部署在.EXE中。

在应用程序中进行一个很难的计算,而不是库,这是一个很好的例程,然后它不能轻易地重用。

也许从这一思路开始的其他事情......版本控制的问题也适用。我们需要制作更好的文档吗? [即使只有一个开发人员,我们可能会更加小心?]我们是否需要将配置信息外部化,请确保不要硬编码任何东西?