0

저는 새로운 CMS 시스템을 개발 중이고 특정 고객을 위해 코어를 확장하거나 덮어 쓰길 원합니다. 밖에있는 정보는 sparse입니다. 또는 충분히 잘 보이지는 않았지만 다른 개발자들의 실제 경험을 원합니다.확장 성 디자인 패턴은 무엇이며 장단점은 무엇입니까?

+1

이 질문은 너무 구체적이지 않습니다. 좀 더 연구하고 특정 패턴 사이의 절충점을 요구할 수 있습니다. –

답변

2

CMS를 디자인 할 때 당신이 찾고있는 것은 아마 플러그 인 방법 일 것입니다. 귀하의 확장 지점을 잘 생각하고 생각하고 있습니다. 확장 성 측면

  1. Pluggable Architecture
  2. 도움이 Open/Close Principle, Interface Segregation 원리와 같은 디자인 측면 표준 패턴을
  3. Architecture & Design

에 대해 다음 링크를 확인하세요.

궁극적으로 CMS의 플러그 가능한 정도와 핵심 구성 요소의 소비자가 새로운 구성 요소를 추가하기 위해 얼마나 많은 노력을 기울여야하는지에 관한 내용입니다. 이 stackoverflow thread도 유용 할 수 있습니다.

0

시작하려면 복잡해 보입니다. 그러나 IMO는 기본 사항을 따르기 만하면 가능합니다. 상속 등을 통해 모든 코드에 대한

쓰기 단위 테스트를 조성 선호, 인터페이스 항상 코드 - -

을 모듈 식 설계를위한 노력 - 당신은 당신의 프레임 워크를 개발하는 동안 당신은 다음에 강한 초점을해야 이것은 테스트가 느슨하게 결합 된 디자인으로 안내 할뿐만 아니라 그러한 프로젝트에서 중요한 문제인 하위 호환성을 확인하는 데 중요하다는 것을 알게 될 것이므로 매우 중요합니다.

너무 많은 초기 설계 및 과도 설계를 피하십시오. - 프레임 워크는 빌드 프론트가 아닌 코드에서 추출하는 것이 가장 좋습니다. 그런 프로젝트에서는 매우 쉽게 돌아 다니고 필요없는 것을 만들 수 있습니다. 원치 않는 기능은 시간과 돈을 낭비 할뿐만 아니라 미래의 변경을 어렵게 만듭니다. 지나치게 많은 선행 디자인을 수행하지 않고 작은 반복 작업, 리팩토링을 자주하고 단위 테스트를 안전망으로 사용하지 마십시오.

관련 문제