Pull to refresh

Comments 14

Поясните в чем смысл перепечатывания стандартных паттернов?
Не нужно задавать этот вопрос постам от коммерческого блога. Выдает вашу невнимательность, хотя я разделяю эту точку зрения. Хорошо, что не перевод и на том спасибо)

Надеюсь, потенциальные клиенты сделают выводы, хотя бы почитав комментарии)

да на самом деле нет ничего такого. Тут есть вырвиглазные онлайншколы обмазанные зарядом на успех.
Раз уплочено, можно писать банальщину? Как-то я большего ожидал :)

То-то у меня недоумение росло, чем дальше я углублялся в публикацию. Метод подачи материала какой-то "шумный". Все слова знакомые, но нужно поднапрячься, чтобы понять, что автор хотел показать в примерах (особенно, если читать комментарии). Лучше уж перевод.


И кстати, а что такое "коммерческий блог"?

по ходу, вот это:
image


ОК, буду принимать во внимание.

Возможно, смысл в том, чтобы посмеяться, заменив некоторые названия Синглетон, Командир, Шаблон) Можно придумать свои паттерны вместо существующих (конструктор вместо билдера), можно часть паттернов с похожим названием объединить (фабричный метод и абстрактная фабрика), а потом ещё и придумать им новую неправильную (даже "анти-паттерновую") реализацию. Думаю, много ещё чего можно придумать)

Друзья, данная статья предназначается для тех, кто только начинает осваивать паттерны проектирования. Если у вас уже имеется серьезный опыт и данный материал для вас не актуален, это не значит, что статья не может быть полезной для новичков. Откуда столько злости?

Вы пытаетесь подменять понятия — статья для новичков, это статья с базовыми и простыми понятиями, но не с грубыми ошибками и домыслами. Как раз опытному разработчику подобная дезинформация вреда не нанесет, а что прикажете делать "наученным" такими статьями новичкам?

Откуда столько злости?

Это не злость, а feedback. Вам самому не режет глаз в первом же примере?


first_Module.declare_Nickname();

let Surname = "...";

Или в чём назначение функции?


  function declare_Surname() {
    console.log(Surname);
  }

Она нигде далее в примере не используется.


Или вот такой фрагмент кода для шаблона "Конструктор":


//у нас есть класс как шаблон, но как нам заставить сохранять в localStorage эти данные?
let item = new ItemDeal(`${text}`, `${select.value - 1}`);  //где text - данные из инпута, a select.value - данные о цвете
let myJson = JSON.stringify(item); // чтобы у нас дела могли сохраняться в //localStorage, нам нужно упаковать только что созданный объект
//localStorage.setItem(item.name, myJson);

Откуда вдруг возник localStorage и зачем нам в него что-то сохранять? Где здесь применение шаблона "Конструктор" — new ItemDeal или JSON.stringify?


Или вот такой текст в комментах кода:


//синглетон хорош, если у вас один герой в игре. Для Джуманджи он как раз бы и не подошел.
//но мне нужна была игра с несколькими персонажами для иллюстрации работы паттерна

Ощущение, что автор попутал пространство кода и пространство самой публикации.


А вот нарушение принципа наименьшего удивления:


const smolder = new Hero('Smolder!');
console.log(smolder.getName()); // Smolder!

const ruby = new Hero('Ruby');
console.log(ruby.getName()); //  Smolder!

Как правильно заметил коллега andres_kovalev :


Как раз опытному разработчику подобная дезинформация вреда не нанесет, а что прикажете делать "наученным" такими статьями новичкам?

Вот хороший для новичка пример реализации "Одиночки":


var Singleton = new function(){
    var instance = this;
    // Код конструктора
    return function(){ return instance }
}
console.log( new Singleton === new Singleton ); // true
Наблюдатель… Нормальное русское слово вместо вырвиглазного англицизма на obs
Sign up to leave a comment.