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

Architecture 库代码和应用程序代码之间的区别?,architecture,structure,Architecture,Structure,这个问题源于一个web应用程序,尽管它也适用于其他类型的应用程序。我正在使用MVC 我有两个应用程序代码(模型、视图、控制器、表单、助手等)和库代码(外部库和内部库,其中包含自编数据库映射器、json转换器等) 我想知道应用程序代码和库代码之间的界限通常在哪里(当两者都是内部编写的时候) 有些库代码是特定于项目的,但仍然有点抽象。我的一般经验法则是:任何可能会在另一个项目中使用,并且可以轻松地不依赖于任何特定于应用程序的代码(有各种技术可以做到这一点)的代码都应该放入库中。所以,如果它具有潜在的

这个问题源于一个web应用程序,尽管它也适用于其他类型的应用程序。我正在使用MVC

我有两个应用程序代码(模型、视图、控制器、表单、助手等)和库代码(外部库和内部库,其中包含自编数据库映射器、json转换器等)

我想知道应用程序代码和库代码之间的界限通常在哪里(当两者都是内部编写的时候)


有些库代码是特定于项目的,但仍然有点抽象。

我的一般经验法则是:任何可能会在另一个项目中使用,并且可以轻松地不依赖于任何特定于应用程序的代码(有各种技术可以做到这一点)的代码都应该放入库中。所以,如果它具有潜在的可重用性,它就会进入一个库。

库的代码是可重用的,而应用程序的代码通常不是。当代码未专门绑定到应用程序时,将其保留在库中

如有疑问,请尝试回答此问题:

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


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

这个代码是“库”,那个代码是“应用程序”。。。这种区分是为了谁的利益?如果我们将一些代码放在错误的类别中会发生什么

一个可能的答案是:

它会影响代码的重用。让我们假设我们有一个策略:库代码在DLL中可用,并具有所需的头等。应用程序代码仅部署在.EXE中

在应用程序中,而不是在库中,设置一个很好的例程来进行困难的计算,这样它就不容易被重用

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