Tôi đọc câu sau trong wiki Fluent NHibernate :
...; tuy nhiên, đối với hầu hết các ứng dụng greenfield (và một số ứng dụng brownfield cũng vậy), ánh xạ tự động sẽ có nhiều khả năng hơn.
Ứng dụng greenfield và brownfield là gì?
Tôi đọc câu sau trong wiki Fluent NHibernate :
...; tuy nhiên, đối với hầu hết các ứng dụng greenfield (và một số ứng dụng brownfield cũng vậy), ánh xạ tự động sẽ có nhiều khả năng hơn.
Ứng dụng greenfield và brownfield là gì?
Câu trả lời:
trong các lĩnh vực khác như kỹ thuật phần mềm, greenfield cũng là một dự án không có bất kỳ ràng buộc nào do công việc trước đó áp đặt. Tương tự là xây dựng trên đất đồng xanh, nơi không cần phải tu sửa hoặc phá bỏ cấu trúc hiện có.
(từ http://en.wikipedia.org/wiki/Greenfield_project )
Phát triển Brownfield là một thuật ngữ thường được sử dụng trong ngành công nghệ thông tin để mô tả không gian có vấn đề cần phát triển và triển khai các hệ thống phần mềm mới với sự hiện diện ngay lập tức của các ứng dụng / hệ thống phần mềm hiện có (cũ). Điều này ngụ ý rằng bất kỳ kiến trúc phần mềm mới nào cũng phải tính đến và cùng tồn tại với phần mềm trực tiếp đã có tại chỗ.
(từ http://en.wikipedia.org/wiki/Brownfield_(software_development) )
Tôi nghĩ nó có thể liên quan đến các thuật ngữ quy hoạch đô thị "đất xanh" và "đất nâu" . Đất Greenfield là đất chưa phát triển - nông nghiệp, cảnh quan, hoặc tự nhiên. Đất Brownfield là đất phát triển.
Ứng dụng brownfield là ứng dụng hiện có, trong khi ứng dụng greenfield là ứng dụng chưa được tạo hoặc đang trong giai đoạn phát triển rất sớm.
Ứng dụng Greenfield: phát triển mới, chưa có công việc nào được thực hiện trước đó gây ra những hạn chế cho giải pháp của bạn. Tôi nghĩ rằng thuật ngữ này xuất phát từ lĩnh vực "không có nguồn gốc, màu xanh lá cây".
Brownfield: ứng dụng hiện có, rất nhiều thứ hiện có để xem xét, v.v.
Tôi đoán nó là một sự tương tự với việc xây dựng
Dựa trên những gì tôi biết về James Gregory (người đứng sau Fluent NHibernate), tôi nghĩ mục nhập Wikipedia cho brownfield hơi nghiêng về mặt lý thuyết. Trong Phát triển ứng dụng Brownfield , chúng tôi định nghĩa nó là:
một dự án hoặc cơ sở mã, đã được tạo trước đó và có thể bị ô nhiễm bởi các hoạt động, cấu trúc và thiết kế kém nhưng có khả năng được hồi sinh thông qua tái cấu trúc toàn diện và có định hướng
Phiên bản ngắn: Một dự án hiện có cần hoạt động nhưng vẫn đang được phát triển tích cực (không giống như hầu hết các hệ thống kế thừa).
Có nhiều cuộc tranh luận xung quanh quyết định của một công ty đối với 'greenfield' hoặc 'brownfield' hoặc mã kế thừa cấu trúc lại.
Quyết định cần được đưa ra dựa trên nhiều yếu tố - không kém phần quan trọng nhất là nguồn vốn sẵn có để phát triển ứng dụng greenfield. Trong nhiều trường hợp, ứng dụng kế thừa là con bò tiền mặt hiện tại của công ty và bất kỳ sự thay thế greenfield nào của mã kế thừa đó sẽ không tạo ra một đồng đô la đỏ nào cho đến khi nó được phát triển hoàn chỉnh và nằm trong tay của khách hàng trả tiền đầu tiên.
Mặc dù sở thích của hầu hết các kỹ sư phần mềm là BẮT ĐẦU DỰ ÁN GREENFIELD MỚI bởi vì họ thường ghét OPC (Mã của người khác), nó có thể không phải lúc nào cũng có trong tài chính dài hạn của công ty.
Tôi đã viết một bài báo phân tích những rủi ro liên quan đến các dự án greenfield dựa trên kinh nghiệm rất thực tế tại công ty tôi đã làm việc hơn 20 năm trước (cho biết tuổi của tôi bây giờ;). Bạn có thể đọc nó ở đây:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html