2010-04-30 3 views
0

.NET (C#)에는 장고의 신호 엔진과 같은 것이 있습니까?에는 .NET (C#) 용 신호 이미 터/소비자 엔진이 있습니다.

우리의 비즈니스 로직은 몇 년 동안 새로운 기능을 추가하면서 정말 복잡해졌습니다. 저는 그것을 다시 건축 할 것입니다. 현재 모든 기능이 매우 결합되어 회귀 오류를 일으키고 한 곳에서 다른 곳으로 변경할 수 있습니다.

저는 Django의 앱 아이디어가 좋습니다. 별도의 애플리케이션이 새로운 기능을 도입하고 절대적으로 분리되어 있습니다. 앱 간의 통신은 신호를 통해 구현됩니다.

.NET에서 프로젝트 비즈니스를 여러 개의 분리 된 "응용 프로그램"(플러그인, 영역, 모듈, 이름)으로 나눌 수 있고 "신호"를 사용하여 통신 할 수있는 사람이 있다면 창 회의자.

예를 들어 간단한 주문 흐름이 있습니다. 프로젝트에있는 경우 할인 쿠폰을 사용할 수있는 능력을 추가하는 "쿠폰 앱"을 추가 할 수 있습니다. 존재하는 경우 교차 판매 제품을 제공 할 수있는 능력을 추가하는 "교차 판매"모듈을 추가 할 수 있습니다. 존재하는 경우 주문 전자 메일 알림을 보낼 수있는 기능을 추가하는 전자 메일 알림 모듈. 동시에이 모듈은 모두 "자체 포함"되어 있습니다. 이는 자체 신호가 방출 신호 (ORDER_PROCCESS_START, ORDER_SUCCESS 등)를 사용하여 처리되고 다른 모듈이이 신호를 구독하고 필요한 방식으로 처리 할 수 ​​있음을 의미합니다.

이 아키텍처는 웹과 관련이 없으며 모든 비즈니스 로직은 HTTP를 직접 사용하지 않고 서버 측에서 처리됩니다.

코드 유지 관리 및 테스트 지점에서 좋은 아키텍처인지 궁금합니다. .NET에서이 작업을 수행 할 수 있습니까? 내가 지금 깨닫지 못하는 어떤 결점?

답변

0

내가 장고에 익숙한 아니다 -하지만 바로이 프레임 워크는 MEF 이제

, 나는 프리즘 thatt 알고

1) Prism

2) 정말 UI 패턴입니다 마음에 와서 -하지만 그들이 사용하는 이벤트 agregator는 느슨하게 결합 된 프로젝트 사이에서 세그먼트 화/메시징에 유용 할 수 있습니다

내 직감은 MEF와 같은 것이 당신이 원하는 것과 더 가까울지라도, 여기서 플러그인을 만들어 애플리케이션의 기능을 확장 할 수 있습니다.

관련 문제