我在Fluent NHibernate wiki中阅读了以下句子:
...;但是,对于大多数 greenfield 应用程序(以及相当多的 brownfield )应用程序,自动映射功能将非常强大。
什么是绿地和棕地应用?
答案 0 :(得分:99)
在软件工程等其他学科中,绿地也是一个缺乏先前工作所施加的任何限制的项目。类比是在绿地上施工,无需改造或拆除现有结构。
(来自http://en.wikipedia.org/wiki/Greenfield_project)
Brownfield开发是IT行业中常用的术语,用于描述在现有(传统)软件应用程序/系统的存在下需要开发和部署新软件系统的问题空间。这意味着任何新的软件架构都必须考虑并与原位软件共存。
(来自http://en.wikipedia.org/wiki/Brownfield_(software_development))
答案 1 :(得分:10)
我认为这可能与城市规划条款"greenfield land"和"brownfield land"有关。格林菲尔德土地是未开发的土地 - 农业,景观或自然。布朗菲尔德的土地是发达的土地。
棕色地块应用程序是一个现有的应用程序,而绿地应用程序是尚未制作或处于早期开发阶段的应用程序。
答案 2 :(得分:3)
Greenfield应用程序:新开发,之前的工作没有对您的解决方案造成限制。我认为这个词来自于“未发现的,绿色的”领域。
布朗菲尔德:现有的应用程序,许多现有的东西需要考虑等等。
答案 3 :(得分:2)
我猜这是建立
的类比答案 4 :(得分:1)
基于我对詹姆斯格雷戈里(Fluent NHibernate背后的人)的了解,我认为布朗菲尔德的维基百科条目在理论方面有点偏差。在Brownfield Application Development中,我们将其定义为:
项目或代码库 以前创建的可能是 被不良做法污染, 结构,设计但有 潜力得到恢复 全面而有针对性的重构
简短版本:需要工作但仍在积极开发的现有项目(与大多数遗留系统不同)。
答案 5 :(得分:1)
围绕公司决定“绿地”或“棕地”或重构遗留代码存在很多争议。
需要考虑许多因素做出决定 - 至少是开发绿地应用的可用资金。在许多情况下,遗留应用程序是该公司目前的摇钱树,任何绿地替代遗留代码都不会产生一个红色的美元,直到它完全开发并在第一个付费客户手中。
虽然大多数软件工程师的偏好是START NEW GREENFIELD PROJECT,因为他们通常讨厌OPC(其他人的代码),但它可能并不总是属于公司的长期财务状况。
我写了一篇文章,分析了绿地项目所涉及的风险,它基于我在20多年前工作过的公司的非常真实的经历(现在显示我的年龄)。你可以在这里阅读:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html