Fluent NHibernate 위키 에서 다음 문장을 읽었습니다 .
...; 그러나 대부분의 그린 필드 애플리케이션 (그리고 꽤 많은 브라운 필드 애플리케이션 도)의 경우 자동 매핑이 가능한 것 이상입니다.
그린 필드 및 브라운 필드 애플리케이션이란 무엇입니까?
Fluent NHibernate 위키 에서 다음 문장을 읽었습니다 .
...; 그러나 대부분의 그린 필드 애플리케이션 (그리고 꽤 많은 브라운 필드 애플리케이션 도)의 경우 자동 매핑이 가능한 것 이상입니다.
그린 필드 및 브라운 필드 애플리케이션이란 무엇입니까?
답변:
소프트웨어 엔지니어링과 같은 다른 분야에서 그린 필드는 이전 작업에 의해 부과 된 제약이없는 프로젝트이기도합니다. 비유는 기존 구조물을 개조하거나 철거 할 필요가없는 녹지대에 건설하는 것과 유사합니다.
( http://en.wikipedia.org/wiki/Greenfield_project에서 )
브라운 필드 개발은 기존 (레거시) 소프트웨어 애플리케이션 / 시스템이 즉시 존재하는 상황에서 새로운 소프트웨어 시스템의 개발 및 배포가 필요한 문제 공간을 설명하기 위해 IT 산업에서 일반적으로 사용되는 용어입니다. 이는 모든 새로운 소프트웨어 아키텍처가 이미 현장에있는 라이브 소프트웨어를 고려하고 공존해야 함을 의미합니다.
( http://en.wikipedia.org/wiki/Brownfield_(software_development)에서 )
도시 계획 용어 인 "그린 필드 랜드" 와 "브라운 필드 랜드" 와 관련이있을 수 있다고 생각합니다 . 그린 필드 토지는 농업, 조경 또는 자연과 같은 미개발 토지입니다. Brownfield 토지는 개발 된 토지입니다.
브라운 필드 애플리케이션은 기존 애플리케이션이고, 그린 필드 애플리케이션은 아직 작성되지 않았거나 개발 초기 단계에있는 애플리케이션입니다.
Greenfield 앱 : 새로운 개발, 솔루션에 제약이되는 사전 작업이 없습니다. 나는 그 용어가 un "unplowed, green"필드에서 유래했다고 생각한다.
Brownfield : 기존 애플리케이션, 고려할 기존의 많은 항목 등
내가 James Gregory (Fluent NHibernate의 배후에있는 사람)에 대해 알고있는 바에 따르면, Brownfield에 대한 Wikipedia 항목은 이론적 인 측면에 약간 있다고 생각합니다. 에서 브라운 필드 응용 프로그램 개발 , 우리는 그것을 같이 정의한다 :
이전에 생성 된 프로젝트 또는 코드베이스, 잘못된 관행, 구조 및 설계로 인해 오염되었을 수 있지만 포괄적이고 지시적인 리팩토링을 통해 부활 할 가능성이 있습니다.
짧은 버전 : 작업이 필요하지만 여전히 활발하게 개발되고있는 기존 프로젝트 (대부분의 레거시 시스템과 달리).
'그린 필드'또는 '브라운 필드'또는 레거시 코드 리팩터링에 대한 회사의 결정을 둘러싼 많은 논쟁이 있습니다.
결정은 많은 요소를 고려하여 내려져야합니다. 그린 필드 애플리케이션을 개발하는 데 사용할 수있는 자금이 가장 중요하지 않습니다. 대부분의 경우 레거시 앱은 회사의 현재 캐시 카우이며 해당 레거시 코드의 그린 필드 교체는 완전히 개발되고 첫 번째 유료 고객의 손에있을 때까지 단일 레드 달러를 벌지 못합니다.
대부분의 소프트웨어 엔지니어가 선호하는 것은 START NEW GREENFIELD PROJECT이지만 OPC (Other People 's Code)를 싫어하기 때문에 항상 회사의 장기적인 재정 상태에 있지 않을 수도 있습니다.
나는 20 년 이상 전에 일한 회사에서 매우 실제 경험을 바탕으로 그린 필드 프로젝트와 관련된 위험을 분석하는 기사를 썼습니다. 여기에서 읽을 수 있습니다.
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html