На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 479 480 [481] 482 483 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата --Ins-- @
    Тебе уже двое написали что нет такого понятия "конструируем предка".

    Тогда все еще хуже :)
      D_KEY, короче, я смотрю у тебя еще есть ягоды в ягодицах, но я честно говоря сильно устал от которого уже по счету круга?

      Добавлено
      Цитата D_KEY @
      Тогда все еще хуже


      Нет, все просто замечательно в рамках исповедуемой философии. А сишная философия либо сама по себе ни пришей кобыле хвост, либо просто совсем не подходит для тех случаев, с которыми я привык иметь дело. И да, ни ты, ни флекс, никто еще в этой теме так и не раскрыл понятия "правильная/неправильная или плохо/хорошо"
        Цитата --Ins-- @
        Все, что используешь в своих виртуальных методах и боишься что на этапе конструирования может не быть - инициализируй до.

        Именно к этому вы потом и пришли. Может конкретно ты придерживался этой позиции всегда - не помню/не знаю :)

        Цитата
        Лень выдумывать. Есть код в базовом классе, который вызывает виртуальный метод. Ты его перекрываешь так, как проектировщик класса не рассчитывал. Разгребай. Ну, или лезь в код предка, но как я понял - тут программисту следует застрелиться

        Если я что-то испорчу - это будут мои же проблемы. А в вашем случае мне испортит предок, вызвав мой метод объекта с (возможно) несоблюденными инвариантами...
          "Но если туп как дерево, родишься бао-бабом, и будешь бао-бабом 300 лет пока помрешь" (С)
          Это я о себе, Borland & "сыновья", и всех, имевших несчастье "связаться" с дельфи и VCL. Нас "великий и могучий" D_KEY считает полными идиотами и инвалидами детства на костылях. Что ж поделом нам, ведь из нашего окна та сама площадь не видна...
            Цитата leo @
            Нас "великий и могучий" D_KEY считает полными идиотами и инвалидами детства на костылях. Что ж поделом нам, ведь из нашего окна та сама площадь не видна...

            Открою секрет ;) D_KEY он как китайский сервер - если ему долго в разных вариантах говорить, что его пароль "maoczedun", то есть не нулевой шанс, что он согласиться :D
              Цитата --Ins-- @
              D_KEY, короче, я смотрю у тебя еще есть ягоды в ягодицах, но я честно говоря сильно устал от которого уже по счету круга?

              Наверно пятого как раз :) Я затеял из-за новых(?) людей, думал что-то новое услышать.

              Цитата
              Нет, все просто замечательно в рамках исповедуемой философии

              "Философия каши" :)

              Цитата
              И да, ни ты, ни флекс, никто еще в этой теме так и не раскрыл понятия "правильная/неправильная или плохо/хорошо"

              Разделение уровней и обязанностей - это хорошо, смешивание всего в одном месте - плохо :)

              Добавлено
              Цитата leo @
              Нас "великий и могучий" D_KEY считает полными идиотами и инвалидами детства на костылях.

              Нет :) Так аргументов не будет?
                Цитата D_KEY @
                "Философия каши"


                Я честно, никогда не пойму что когда я пишу "создать объект окно" происходит: создается объект "объект", создается объект "компонент", создается объект "контрол", создается объект "окно". Вот это - выше моих возможностей. Я ведь просил создать один объект - окно, который просто наследует от предков интерфейс и реализацию. И у тебя после этого язык пошевелился заявить о каше? :D
                Сообщение отредактировано: --Ins-- -
                  Цитата --Ins-- @
                  Вот это - выше моих возможностей. Я ведь просил создать один объект - окно, который просто наследует от предков интерфейс и реализацию.

                  Плохо. Читай про контракты и инварианты. Может и с юнит-тестированием легче дело пойдет.
                    Цитата D_KEY @
                    Плохо. Читай про контракты и инварианты. Может и с юнит-тестированием легче дело пойдет.


                    Короче, вот где каша на самом деле ;)
                      Да-да
                        Цитата leo @
                        "Но если туп как дерево, родишься бао-бабом, и будешь бао-бабом 300 лет пока помрешь" (С)
                        Это я о себе

                        Право же, в следующий раз не поясняйте.
                        Сообщение отредактировано: MyNameIsIgor -
                          MyNameIsIgor, я всегда знал что ты не просто хамло, а хам педальный <_<
                          Сообщение отредактировано: --Ins-- -
                            Цитата --Ins-- @
                            MyNameIsIgor, я всегда знал что ты не просто хам, а хам педальный

                            Ага, мне самому приятно :lool:
                              Та не, leo, просто вот так вот по-тролиному намекнул, что́ счас ты начнёшь получать в свой адрес. Молви на здоровье, просто уже ничего, пожалуй, не осталось, чего б тут не обсуждали. Конечно, я не рассчитывал, что ты всю тему проштудировал. Да и тема не единственная была.

                              Добавлено
                              Цитата jack128 @
                              э-э-э. Я правильно понял, что если нужно пять указателей хранить, то у меня пять уровней иерархии будет??

                              Нет, конечно. По-хорошему надо просто взять пять смарт-поинтеров и не обезьянничать.
                              Это ж пример для лекции. Его задача - показать на простом и пусть даже искусственном примере потенциал методики, обсуждавшейся на лекции. Лекция была на тему "контракты интерфейсов и гарантии безотказности... сорри... отказоустойчивости их реализаций".
                              Сообщение отредактировано: Qraizer -
                                Цитата --Ins-- @
                                никогда не пойму что когда я пишу "создать объект окно" происходит: создается объект "объект", создается объект "компонент", создается объект "контрол", создается объект "окно". Вот это - выше моих возможностей. Я ведь просил создать один объект - окно, который просто наследует от предков интерфейс и реализацию.

                                Наследует интерфейс и реализацию, которая от тебя скрыта(по крайней мере в обсуждаемых языках). Для обеспечения правильной работы унаследованной реализации, тебе нужно обеспечить инварианты этой самой реализации, которые предполагал разработчик базового класса и обеспечил их во всех своих конструкторах. Его конструктор отработал - инварианты соблюдены и нарушить их ты уже будешь не в состоянии. С другой стороны, код базового класса не будет гадить тебе и вызывать твои методы до того, как ты обеспечишь уже свои инварианты. Обязанности распределены, все состояния согласованы и корректны. В твоем же случае разработчик базового класса, вызывая в конструкторе перекрытые в потомке методы, фактически полагается на авось - он не знает наверняка, успел ли потомок привести объект в согласованное состояние(т.е. имеем ли мы право дергать методы, или объект еще конструируется), с другой стороны, разработчик потомка, перекрывая метод, так же вынужден или рассчитывать на то, что ему может прийти мусор(например, просто зануленная память) вместо объекта, или вызывать конструктор предка после того, как обеспечит свои инварианты(но в этом случае он не может в своем коде обращаться к унаследованным полям и методам в процессе конструирования), или смотреть в реализацию базового класса... Можно еще просто забить и "писать, как пишется", отлавливая(или пропуская) баги :) Но вряд ли у вас так принято ;) ?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 479 480 [481] 482 483 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.6515 ]   [ 15 queries used ]   [ Generated: 28.07.26, 16:44 GMT ]