Мне очень нравится архитектура и организация библиотеки Leaflet. Она включает в себя очень много сущностей (карты, слои, маркеры, балуны, векторные элементы и так далее). Но всё это сидит в общем объекте, который играет роль пространства имен. Очень понятно, наглядно, удобно.
L.Map
L.TileLayer
L.Marker
Как сделать в ES6 так же или нечто наподобии? Чтобы можно было потом писать:
var a = new MyLib.Dedka();
var b = new MyLib.Babka();
var c = new MyLib.Repka();
Просто классы Dedka и Repka, которые непонятно как и к чему относятся - это как-то не очень. Имена типа MyLibDedka - тоже не фонтан.