2010-03-15 2 views
2

저는 주로 비즈니스 앱 개발자이며 CQRS, ServiceBus, SOA, DDD, BDD, AOP와 같은 용어를 많이 듣습니다. 내 질문은 이러한 패턴/관행은 "기업"세계에만 존재 하는가? 기업 세계와 달리 오픈 소스 커뮤니티가 있습니다. Digg, LiveJournal과 같은 트래픽이 많은 사이트는 내가 듣고있는 사이트를 어떻게 구축하고 확장했는지에 대해 언급 할 때마다 소프트웨어 문제를 해결하는 방법을 확장/단순화하기 위해 사용하는 오픈 소스 소프트웨어 (Memcached, NoSQL)입니다. 그들은 위의 용어를 거의 언급하지 않습니다. 그것은 엔터프라이즈 수준의 소프트웨어만큼 정교하지 않기 때문입니까 (나는 의심 스럽습니다)? 아니면 사람들이 일자리를 유지하기 위해 이러한 용어/관행/패턴을 구성하고 있습니까? 또는 소프트웨어 개발과 인터넷 웹 사이트 확장 간의 차이점을 혼동하고 있습니까?엔터프라이즈 소프트웨어/아키텍처 패턴과 오픈 소스 소프트웨어의 차이점은 무엇입니까?

또한 패턴/아키텍처/관행의 수가 증가함에 따라 내가 뭘 잘못했는지 알 수 있습니다. 배우고 소개하는 데 약간의 시간을 투자 할 의사가 있다면 항상 더 좋고/더 좋은 접근 방법이 될 것 같습니다. 공모의 비트. 나 자신이 리팩토링/무언가를 구체적으로 제작하지 않고 새로운 접근 방식을 배우는 것으로 끝날 것입니다.

+1

DDD는 Defect Drive Design입니다. 맞습니까? 커크 페퍼 다인 (Kirk Pepperdine)의 멋진 youtube 클립이 있습니다. –

+0

도메인 기반 디자인. 그러나 문제와 관련이없는 것은 중요하지 않습니다. – Jeff

+0

이 질문은 정말로 건축이나 건축에 대한 인식입니까? –

답변

2

아키텍처는 요구 사항에서 추론됩니다. 아키텍처 설계 패턴은 요구 사항이 다른만큼 많이 다릅니다. 오픈 소스와 엔터프라이즈는 독립적 인 용어이며 소프트웨어 프로젝트는 오픈 소스, 엔터프라이즈 모두 또는 둘 다가 될 수 있습니다.

개인적인 경험으로 볼 때 오픈 소스는 주로 엔지니어링 수준이 약간 낮아 기업이 설계자의 업무를 방해하는 경향이 있습니다.

4

소프트웨어는 소프트웨어이며, 디자인 패턴은 개방형 또는 폐쇄 형 소스, 취미 또는 엔터프라이즈 수준의 모든 소프트웨어 프로젝트에 적용될 수 있습니다. 일부 매우 구체적인 것은 특정 틈새 시장에서만 적용되거나 필요할 수 있습니다. 특정 틈새 시장은 매우 특정한 것을 "발명"한 폐쇄 소스 공급 업체가 지배 할 수 있습니다.

주요 차이점은 키워드가 더 잘 팔린다는 것입니다.

+0

"주요 차이점은 키워드가 더 잘 팔린다는 것입니다." 그리고 이것이 우리가 M $ 두문자어를 잊어 버린 이유입니다. – Jeff

+0

@Jeffrey 오, MS- 말은 그 자체의 전체 클래스입니다. 그들은 영업 사원이 볼 수없는 물건을 지목으로 사용합니다. ;) – deceze

0

엔터프라이즈 응용 프로그램과 오픈 소스는 상호 배타적이지 않습니다. EA는 방대한 환경에 배치 할 수있는 견고하고 확장 가능한 애플리케이션을 생성하는 일련의 패턴을 의미합니다.

EA 원칙을 따르는 수많은 오픈 소스 프로젝트를 생각해 볼 수 있습니다.