JavaScript, 네임 스페이스 및 축소/연결과 관련된 몇 가지 문제가 있습니다. 나는 아무런 통제력이 없다. (적어도 나는 갖고 싶지 않다.) 어떤 순서로 파일들이 연결될 것인가. 'com.example.ExampleClass'와 같은 문자열이 주어 졌을 때 단순히 객체를 반환하는 네임 스페이스 함수를 사용하면 다른 클래스에서 필요할 때 '클래스'가 정의되지 않을 수 있습니다.자바 스크립트에서 네임 스페이스를 사용하여 지연 초기화 사용
EventDispatcher의 기능이 필요한 DocumentProvider 객체가 있다고 가정합니다. 그러나 현재 설정에서 DocumentProvider는 EventDispatcher보다 먼저 연결됩니다. 프로토 타입에이 기능을 정의하려고하므로 생성자에서이 기능을 확장 할 수 없습니다.
그래서, 내 제안 된 솔루션은 게으른 초기화를 사용하는 것입니다 : 최고 레벨namespace(alias, factory)
함수를 정의
- 을
- 사용 의사 오버로드 지정된 이름에 공장을 할당하거나 개체를 반환 하나에 네임 스페이스에 공장에서 생성
또는 define(alias, factory)
과 import(alias)
으로 나눌 수 있습니다. 가독성을 높이고 지구 공간을 더욱 오염시키는 것이 좋습니다.
제 질문은 : overengineering입니까? 이 문제에 대해 더 우수하고 간단하며 더 많은 '표준'솔루션이 있습니까? 그리고 네임 스페이스 기능이 (다른 구현으로) 언어에 추가되는 위험은 무엇입니까?