우리의 응용 프로그램은 Javascript MVC 프레임 워크를 사용하는 대규모 Javascript 응용 프로그램입니다. 우리는 SVN을 통해 모든 사이트에서 MVC 앱 폴더를 사용하고 있습니다 : 외부 사이트이며 각 사이트에도 자체 파일이 있습니다. 설정 파일은 해당 사이트에만 적용됩니다.큰 공유 코드 기반, 기능 확장
우리는 시스템이 각 사이트마다 다른 기능을 가질 수 있어야합니다. 핵심 기능은 동일하게 유지되어야합니다. 현재와 새로운 개발자들에게 유지 보수가 가능한 솔루션을 유지하면서 핵심 코드를 확장해야합니다.
현재 우리가 생각했던 옵션은 다음과 같습니다
A : 핵심 내에서 기능 조건문을 포함하기 및 온/오프 설정이
B 파일을 통해 기능을 켜 : 재정/상속 기존 컨트롤러를
c : 코어 내에 무제한 후크가있는 모듈러 시스템 (플러그인)을 구현하고 settings.json을 통해로드/활성화되는 플러그인을 구성하십시오.
옵션 a에는 lon을 유지하기 어렵다는 문제가 있습니다. g 용어이며 상당히 해킹됩니다.
옵션 B는 이미 구현하지만, 우리는 새로운 기능이있는 경우, 우리는 그것이
을 덮어옵션 C는 우리가 최근의 생각 솔루션입니다되어있는 경우 각 사이트의 파일을 편집 할 필요가로 (유지하기 어렵다된다 공유 (플러그인) 컨트롤러를 사용하고 사이트 별 설정 파일을 편집하여 수정을 시도하고 분리 할 수 있습니다.
우리가 이미 생각한 옵션을 경험 한 사람이 누구인지, 다른 사람이 더 잘 맞는 옵션을 알고 있다면
OpenAjax를 사용하기 때문에 공유 코드를 사이트 특정 코드와 분리 할 수 있습니다. 우리는 또한 도둑질을 사용합니다.종속 관리자 인 js – Scott
실제 작업에 따라 옵션 b와 옵션 c를 모두 사용하여 종료했습니다. 옵션 b를 사용하여 이라는 모델 메서드를 덮어 쓰고 양식 유효성 검사 (사이트에 새로운 규칙 추가 코어에 추가하고 기능 토글을 사용하는 것보다) – Scott