이것은 내 JavaScript 코드의 구조에 대한 일반적인 질문이며 잘 구조화 된 코드를 향한 올바른 방향으로 나아가고 있는지에 대한 질문입니다.자바 스크립트 아키텍처 - 중재자, 언제 사용합니까?
내가있어 현재 코드 :
는 물론 위의 코드와(function (myNamespace, $, undefined) {
myNamespace.className = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
(function (myNamespace, $, undefined) {
myNamespace.className2 = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
, 내가 (페이지/사이트 섹션에 따라) 같은 네임 스페이스를 사용하고 나는 또한 결합 할 수 있습니다 등 myNamespace.className.init()
를 통해 그들을 호출 할 수 있습니다 이것들은 원한다면,하지만 나는 가독성을 위해 클래스들을 캡슐화하고있다.
이제는 중재자의 개념에 대해 http://addyosmani.com/largescalejavascript/을 읽었습니다. 내 이차적 인 질문은 언제 사용해야합니까? className2에서 분명히 나는 할 수있다 :
myNamespace.className2 = {
init:function { myNamespace.className.init() } // do stuff
}
그래서 왜 이제까지 mediator.subscribe("classNameInit")
같은 클래스 명을 구독하고 클래스 이름에 해당 이벤트를 게시 할 것인가?
내 코드의 구조에 대한 제안은 매우 환영합니다. 바로 이것이 필자가 자바 스크립트를 작성하는 방식을 바꾸는 동안 바로 얻을 필요가 있기 때문입니다.
_ mediator 패턴을 사용하면 객체 간의 통신이 mediator 객체로 캡슐화됩니다. 객체는 더 이상 서로 직접 통신하지 않지만 대신 중재자를 통해 통신합니다. 이렇게하면 통신하는 객체 간의 종속성이 줄어들어 커플 링이 낮아집니다 ._ (c) [wiki] (http : //en.wikipedia.org/wiki/Mediator_pattern) – c69
나는 그 주위에서 내 머리를 잡으려고 노력했는데 왜 내가 지금하고있는 일보다 그 일을 더 잘하는 이유를 보지 못합니까? 나는 그것이 실용적인 예가 아니라는 것을 증명했습니다. –
일단 서로 통신하고자하는 많은 모듈을 갖게된다면, 얼마나 가혹하게 하드 커플 링 스케일을 볼 수 있습니다. – c69