什么是绿地和棕地应用?

时间:2009-09-22 12:58:12

标签: language-agnostic terminology

我在Fluent NHibernate wiki中阅读了以下句子:

  

...;但是,对于大多数 greenfield 应用程序(以及相当多的 brownfield )应用程序,自动映射功能将非常强大。

什么是绿地和棕地应用?

6 个答案:

答案 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应用程序:新开发,之前的工作没有对您的解决方案造成限制。我认为这个词来自于“未发现的,绿色的”领域。

布朗菲尔德:现有的应用程序,许多现有的东西需要考虑等等。

See this post

答案 3 :(得分:2)

我猜这是建立

的类比
  • 一个greenfield网站是处女地 - 即一个新项目,从头开始一个新的软件项目
  • brownfield网站是现有结构首先需要拆除的网站,即在现有软件项目中构建

答案 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