@aush: "Почему вы называете классы TS иллюзией" потому что TS оперирует на том же уровне что и JS. Но не создает нового уровня абстракции, он пытается наложить абстракции ООП на абстракции ФП. Если бы это можно было делать эффективно, то очевидно не существовало ООП и ФП как отдельные самодостаточные парадигмы.
@aush: проблема у ТСа в том, что он не понимает как писать хороший код на JS, что он не хочет взять ангулар и научиться писать директивы, а не в том что тут нужен зачем-то ООП.
@aush: только дело в том, что классов вы не получите :) будет иллюзия, за которой скрываются конструкции JS. И эта абстракция течет. На JS пишется куда более красивый и быстрый код чем на TS.
Да, фасад это api. Если перевести на язык Java, то один модуль в JS отлично ложится на класс в Java. В фасад выносятся все паблик методы. Филды в фасад не нужно выносить, лучше спрятать за методом, тогда будет проще рефакторить либо менять логику.
В JS отсутсвует прямой эквивалент интерфейсу в Java, но это из-за природы языка. Он тут не нужен. Вы легко можете подменить реализацию:
var module;
if (prod) {
module = require('/prod-module.js');
} else {
module = require('/dev-module.js');
}
1. "я всю прочел, но автор называет обсервер медиатором так, будто не существует шаблона медиатор." Из книги: "Пример: одна из возможных реализаций паттерна «медиатор»". Т.е. это лишь вариант реализации медиатора. И главный вопрос данный код инкапсулирует общение между модулями? Еще раз, медиатор и обсервер это партерны разного уровня.
2. "Обсервер у него не композицией, а чистая реализация, как его можно медиатором называть?" Код на JS правильного реализованного медиатора на основе обсервера в студию!
Вместо того чтобы сидеть и теоретизировать, лучше напишите свой форум на nodejs. Хотя нет, сначала напишите медиатор, с правильной композицией обсервера. На JS.
@vasIvas: In the original book that coined the terms Observer and Mediator, Design Patterns, Elements of Reusable Object-Oriented Software it says that the Mediator pattern can be implemented by using the observer pattern.
@aush: Так и быть, скажу по-русски, а то опять не поймете: TypeScript это не решение "проблемного" javascript'а. И писать на нем не имеет смысла. Так же как и привносить ООП подход поверх JS. Это не работает, это не будет работать. Все кто начинает транслировать что-то в JS, приходит к тому, что учит JS. А тем более поделие от говнософта.
@vasIvas: Бога нет. Если что это книга. Остальное какой-то бред, мне даже сказать на него нечего.
Всем нравятся его книги, только вы у нас самый умный, но никак это не проявляется к сожалению. www.amazon.com/Nicholas-C.-Zakas/e/B001IGUTOC/ref=...