All streams
Search
Write a publication
Pull to refresh
51
0
Борис Янгель @hr0nix

User

Send message
Правильный вывод тут такой: и учёный, и неуч конечно могут быть как религиозными людьми, так и атеистами, но, как правило, ученые — атеисты, а неучи — верующие.
Да неужели?
Вообще-то, у них не было особого выбора. Дальше противиться было бы попросту нелепо.
300 лет назад наука, как таковая, только зарождалась. И ученых, как таковых, не было. А как доросли до неопозитивизма и прочей современной научной философии, так сразу и поняли, что совмещать-то особо не получится.
Вы конституцию читали? Про светский характер образования, все дела?
>> Да пусть хоть куполами золотыми каждый техникум украсят — вам это как мешает наукой заниматься?
Слова «фигура речи» вам знакомы? Физики очень часто говорят слово «Бог». Но подразумевают под этим совсем не то, что вы втемяшили себе в голову.
В прошлом году задачка попроще была в каком-то смысле.
Вообще, я с ним и в метро прекрасно езжу. А для нормального чтения статей и книг в PDF он просто незаменим.
А Kindle DX в качестве варианта не рассматриваете? =)
Ну, я согласен с тем, что сама по себе диаграмма не слишком выразительна. Но это потому, что нужно читать сопроводительный текст. UML сам по себе не может все объяснить.
Вы не различаете реальный тип объекта, который передается на вход, и тип параметра функции. Тип объекта — не IDrawingApi (хотя бы потому, что это вообще интерфейс). Тип параметра конструктора — именно IDrawingApi. Далее вспоминаем все, что я говорил раньше, и понимаем, что стрелки не нужны.
Ок. По вашей ссылке определение такое: «Зависимость существует, если класс Х — это параметр, член или локальная переменная в методе класса А». В случае паттерна Bridge наследники Б, в отличие от самого Б, под это определение не подходят.
Я напоследок позанудствую. По вашей логике, если некий класс А работает с иерархией классов (имеющих базовый класс Б) через указатель/ссылку на базовый, нужно в UML-диаграмме провести зависимости из класса А во всех возможных потомков Б. Так вот, это неправильно. Зависимость А->Х означает «изменение спецификации Х влечет за собой изменение А». В нашем случае для А имеют значение только изменения Б, интерфейса к Х. А детали реализации его потомков (включая, возможно, публичные функции, не объявленные в Б) нам абсолютно не важны. Потому и стрелочки такие тут рисовать нельзя.
// Я стараюсь

Во первых, какие еще варианты с точки зрения мгновенного понимания могут быть? Я бы понял, если бы была альтернативная интерпретация этой диаграммы. Но ведь нету ее. Что еще может пойти на вход конструктору, если не подклассы абстрактного класса AlarmClockImpl?

Во-вторых, что еще за «простые стрелочки»? В UML есть агрегация, композиция, наследование, реализация и зависимость. Ваши «простые стрелочки» ни к одному из этих типов не относятся.
В целом, мне проще отослать вас вот сюда. Хотя, если вы не поняли эту статью (с довольно понятной, к слову, UML-диаграммой классов), то, наверное, и статью по ссылке не поймете.
А можно столько ждать? Какой-нибудь watchdog не срубит такую программу?
В С++:
virtual ReturnType VirtualFunc(ParamType param); — виртуальная функция (можно переопределить в производном классе).
virtual ReturnType PureVirtualFunc(ParamType param) = 0; — чисто виртуальная функция (нужно переопределять в производном классе).

Information

Rating
Does not participate
Location
Cambridge, England - East, Великобритания
Works in
Date of birth
Registered
Activity