Вы дали ссылку на А.Александреску — Современное проектирование на С++,
но ни слова не сказали о том, что в этой книге есть целый раздел, посвященный порождающим шаблонам проектирования, где есть и реализация рассматриваемого Вами шаблона — Factory Method.
Глава 3. Порождающие паттерны.
Паттерн Factory Method, страница 111.
Также к этой книге прилагается библиотека Loki, в которой есть готовый и отлаженный код.
Чем ваша реализация отличается (лучше) от реализации Александреску?
Ваш код может быть проще, но есть и недостатки, например нет поддержки конструкторов с параметрами.
Хотелось бы увидеть сравнение этих реализаций.
Еще хотел бы обратить Ваше внимание на используемые термины:
Вы используете название класса AbstractFactory, абстрактная фабрика это совсем другой шаблон проектирования, это может сбивать с толку.
Еще Вы пишете: «Ну, а теперь создадим, на основе этого конкретного примера, вполне конкретный паттерн.»
Вы не создаете шаблон проектирования, Вы его реализуете.
Некоторые вещи не получится дебажить таким образом.
К примеру функций, которые используют привилегии пользователя System.
Еще время запуска и остановки сервисов необходимо тестить в реальных условиях, ибо система может прибить сервис если он долго будет загружаться/выгружаться.
Да много еще ньюансов.
Конечно иметь возможность запускать сервис как консоль это очень полезно, но нужно уметь обходится и без этого.
Иногда спасает Sleep на старте сервиса, но иногда приходится подтягивать тяжелую артиллерию, а именно — ядерный отладчик.
Иногда нормально отладить сервис можно только при помощи ядерного отладчика (WinDBG).
К примеру надо отдалить запуск сервиса в автозагрузке, или наоборот его остановку в момент остановки системы…
О да!
А представьте себе ситуацию когда начальство начинает заниматься не своим делом,
к примеру маркетологи начинают навязывать свой цикл разработки,
заниматься вопросами юзабилити (с их точки зрения, с рекламной).
Это, я Вам скажу, задница полная.
Уж лучше каждый своим делом пусть занимается.
Я таких комментариев не встречал ни разу.
Но думаю что лучше уж будут такие комментарии у говнокодеров, т.к. из них можно хоть понять ход мыслей, понять зачем здесь этот кусок дерьма.
Я имел в виду что студийный дебаггер мог бы работать хотябы на уровне WinDBG.
Использовать студию для анализа крешей в релизной сборке практически невозможно, приходится использовать WinDBG для этой цели.
К примеру невозможно подключить PDB (форсированно) если по какой-то причине таймстамп в PDB и бинарнике отличается, у нас это так из-за используемой системы лицензирования.
Также часто стек вызовов показывает не то что надо.
Да много чего еще, сразу так и не вспомнишь, но глюков в студийном дебаггере хватает.
>>И тут мне подумалось: «надо это переделать на шаблоны!»
Нужно как-то себя ловить на этой мысли и пытаться сдерживать до появления действительно веских причин для использования шаблонов :)
А так, забавно, но не более того…
>>Во многих операционных системах ты получаешь один стек на процесс и этот стек имеет фиксированный размер.
Не знаю, как там в других операционных системах, но в Windows совой стек имеет каждый поток процесса.
В том то и дело, что это надо не собеседнику, а мне.
Если у собеседника хреновая камера хуже от этого только мне, а не ему.
И тут вопрос готов ли собеседник потратиться на хорошую камеру ради других, или он даже об этом и не задумывается (не подкован в IT к примеру)
но ни слова не сказали о том, что в этой книге есть целый раздел, посвященный порождающим шаблонам проектирования, где есть и реализация рассматриваемого Вами шаблона — Factory Method.
Глава 3. Порождающие паттерны.
Паттерн Factory Method, страница 111.
Также к этой книге прилагается библиотека Loki, в которой есть готовый и отлаженный код.
Чем ваша реализация отличается (лучше) от реализации Александреску?
Ваш код может быть проще, но есть и недостатки, например нет поддержки конструкторов с параметрами.
Хотелось бы увидеть сравнение этих реализаций.
Еще хотел бы обратить Ваше внимание на используемые термины:
Вы используете название класса AbstractFactory, абстрактная фабрика это совсем другой шаблон проектирования, это может сбивать с толку.
Еще Вы пишете: «Ну, а теперь создадим, на основе этого конкретного примера, вполне конкретный паттерн.»
Вы не создаете шаблон проектирования, Вы его реализуете.
К примеру функций, которые используют привилегии пользователя System.
Еще время запуска и остановки сервисов необходимо тестить в реальных условиях, ибо система может прибить сервис если он долго будет загружаться/выгружаться.
Да много еще ньюансов.
Конечно иметь возможность запускать сервис как консоль это очень полезно, но нужно уметь обходится и без этого.
Иногда спасает Sleep на старте сервиса, но иногда приходится подтягивать тяжелую артиллерию, а именно — ядерный отладчик.
К примеру надо отдалить запуск сервиса в автозагрузке, или наоборот его остановку в момент остановки системы…
А представьте себе ситуацию когда начальство начинает заниматься не своим делом,
к примеру маркетологи начинают навязывать свой цикл разработки,
заниматься вопросами юзабилити (с их точки зрения, с рекламной).
Это, я Вам скажу, задница полная.
Уж лучше каждый своим делом пусть занимается.
Но думаю что лучше уж будут такие комментарии у говнокодеров, т.к. из них можно хоть понять ход мыслей, понять зачем здесь этот кусок дерьма.
>>Много воды…
>>Советовать всегда писать тесты не буду.
>>Универсального метода я не вижу.
>>2. Четкое разделение структуры на модули
>>Бла бла бла…
>>Проблема сложная, однозначного решения я не вижу
Вы рассказываете лишь о проблемах TDD, не предлагая при этом решений этих проблем.
О чем статья?
Улыбнуло :)
Я имел в виду что студийный дебаггер мог бы работать хотябы на уровне WinDBG.
Использовать студию для анализа крешей в релизной сборке практически невозможно, приходится использовать WinDBG для этой цели.
К примеру невозможно подключить PDB (форсированно) если по какой-то причине таймстамп в PDB и бинарнике отличается, у нас это так из-за используемой системы лицензирования.
Также часто стек вызовов показывает не то что надо.
Да много чего еще, сразу так и не вспомнишь, но глюков в студийном дебаггере хватает.
количество патентных заявок и количество ПК относится к Линукс?
Особенно порадовал процент «Не использую Linux» 15%,
опрос проводился среди разработчиков ядра Linux?
Остальные данные также вызывают сомнение…
Нужно как-то себя ловить на этой мысли и пытаться сдерживать до появления действительно веских причин для использования шаблонов :)
А так, забавно, но не более того…
Не знаю, как там в других операционных системах, но в Windows совой стек имеет каждый поток процесса.
Если у собеседника хреновая камера хуже от этого только мне, а не ему.
И тут вопрос готов ли собеседник потратиться на хорошую камеру ради других, или он даже об этом и не задумывается (не подкован в IT к примеру)