На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 289 290 [291] 292 293 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата korvin @
    не существует никакой видимой атрибутики.
    Да ладно. А height у класса QWidget, Caption у TForm и прочее это так просто, чисто поржать, да?
    Цитата korvin @
    это не самообман, а признак плохого проектирования и использования инструмента не по назначению.
    И как тогда ты напишешь более-менее крупную систему при "хорошем проектировании и использовании инструмента по назначению"?
    Цитата korvin @
    как раз пример неправильного использования ООП и вообще.
    Уже n последних страниц говоришь, что это неправильно, но о том, почему э то неправильно и как надо, почему-то ни слова.
      Цитата Flex Ferrum @
      А если ещё и в исходник взглянуть - так и вообще ахтунг, потому что для интеграции с дизайнером все те же самые свойства описываются и третий раз - посредством макросов

      А, так вот как Qt с дизайнером взаимодействует. А почему не сделали автоматический описатель? Ну что-то вроде утилиты, которая генерирует эти описания на основе описания класса (ну с несколькими макросами-атрибутами еще)?
        Цитата Romkin @
        Угу. Но сеттер и геттер - методы, а не поля данных. Или методы тоже ничего не скрывают? Тогда сразу говори, что данные вообще скрыть нельзя, поскольку ко всем данным объекта так или иначе есть доступ :)

        и что, что они методы? и при чем тут методы? ты про свойства говорил

        Добавлено
        Цитата OpenGL @
        Да ладно. А height у класса QWidget, Caption у TForm и прочее это так просто, чисто поржать, да?

        не знаю, что за height там у QWidget, наверное поле объекта. а Caption -- свойство. так что там про атрибутику?

        Добавлено
        Цитата OpenGL @
        И как тогда ты напишешь более-менее крупную систему при "хорошем проектировании и использовании инструмента по назначению"?

        прямо. с объектами, моделирующими объекты предметной области, а не какой-то набор свойств

        Добавлено
        Цитата OpenGL @
        Уже n последних страниц говоришь, что это неправильно, но о том, почему это неправильно и как надо, почему-то ни слова.

        ты видимо плохо читал, интерфейс объекта должен максимально соответствовать моделируемому объекту, а методы(сигнатуры методов) отражать суть того, что они делают. и я показывал как правильно. несколько раз.

        Добавлено
        Цитата Romkin @
        А, так вот как Qt с дизайнером взаимодействует. А почему не сделали автоматический описатель? Ну что-то вроде утилиты, которая генерирует эти описания на основе описания класса (ну с несколькими макросами-атрибутами еще)?

        [offtop(хотя наверное все-таки on-, но мы сейчас о другом =) )]
        потому что C++ недостаточно гибкий язык, поэтому требует различных костылей в виде препроцессора и прочих извращений =)
        [/offtop]

        а вообще не понимаю, почему в Qt просто не сделали описание(в смысле текстовое представление) интерфейса в виде например xml.
          Цитата korvin @
          и что, что они методы? и при чем тут методы? ты про свойства говорил

          Ты уж сам реши, что как открывается. А то все что следует из твоих постов: доступ к полям объекта должен быть через методы, но они не должны быть геттером и сеттером :lol:
            Дурная затея - это точно. В BCB у новичков одна из часто встечающихся проблем:
            почему не работает
            ++SomeObject.SomeIntegerProperty;
            А просто геттер у SomeIntProperty - метод, возвращающий значение.
            Причём, если геттер - собственно приватный член, то это работает, если ничего не путаю.
            Сообщение отредактировано: Adil -
              korvin, то есть поясню: по-твоему, должны быть методы length и setLength, а вот объединить их в свойство - низзя, это уже жуткое нарушение защиты, ООП, и конвенций ООН.
                Цитата korvin @
                не знаю, что за height там у QWidget, наверное поле объекта. а Caption -- свойство. так что там про атрибутику?

                Атрибутика, свойство, характеристика, да хоть унитазом назови - какая разница? Все это - некая характаристика объекта. Почему бы не объявить ее в виде свойства?
                Цитата korvin @
                прямо. с объектами, моделирующими объекты предметной области, а не какой-то набор свойств
                Цитата korvin @
                интерфейс объекта должен максимально соответствовать моделируемому объекту, а методы(сигнатуры методов) отражать суть того, что они делают.
                Как этому мешают свойства? Или если я заменю их на геттер с сеттером, у меня объекты как-то по-другому начнут моделироваться?
                  Цитата Romkin @
                  по-твоему, должны быть методы length и setLength

                  нет, по моему должны быть методы length и changeLength. или length и scale. или length и например expand и shrink. в зависимости от того, что мы подразумеваем/моделируем.

                  Цитата Romkin @
                  а вот объединить их в свойство

                  а зачем? если методы уже есть, зачем еще и по верх них какое-то свойство?

                  Добавлено
                  Цитата Romkin @
                  Ты уж сам реши, что как открывается. А то все что следует из твоих постов: доступ к полям объекта должен быть через методы, но они не должны быть геттером и сеттером :lol:

                  из моих постов следует, что проектирование объекта как набора методов/свойств/чего-то-там-еще для доступа к внутренним полям -- это не проектирование
                    Цитата korvin @
                    а зачем? если методы уже есть, зачем еще и по верх них какое-то свойство?

                    То есть просто нужен минимальный набор необходимых инструментов? С этого-то и надо было начинать :) А нам больше нравится, когда есть не необходимые, но полезные инструменты.
                      Цитата OpenGL @
                      Атрибутика, свойство, характеристика, да хоть унитазом назови - какая разница? Все это - некая характаристика объекта. Почему бы не объявить ее в виде свойства?

                      разница большая, ну да ладно. нет у объектов характеристик/свойств/аттрибутов. у них есть

                      внутреннее состояние (и то не обязательно, но почти всегда)
                      поведение, которое соответствует поведению моделируемого объекта (предметной области)
                      и внешний интерфейс (набор сообщений, на которые может ответить объект)

                      и проектировать нужно от интерфейса и добавлять внутренние поля только, если это необходимо для обеспечения необходимого поведения

                      Добавлено
                      Цитата OpenGL @
                      То есть просто нужен минимальный набор необходимых инструментов? С этого-то и надо было начинать :) А нам больше нравится, когда есть не необходимые, но полезные инструменты.

                      нет, нужен не минимальный, нужен неизбыточный и непротиворечивый
                        Цитата korvin @
                        откуда такое определение? почему эта "некоторая часть состояния объекта" должна быть видна?

                        Считай, из головы. :)
                        Цитата korvin @
                        не существует никакой видимой атрибутики.

                        Да ну? :) Вот у тебя есть метод getCaption. В названии этого метода Caption - это что? Некая фикция, к объекту не имеющая никакого отношения? Вот как только ты сам дашь определение того, что используется в качестве существительных в именах геттеров - ты получишь определение свойства. :)
                        Цитата korvin @
                        в ООП понятия свойства нет

                        Вот я и говорю. Жопа есть, а слова нету. :D
                        Цитата korvin @
                        а вообще не понимаю, почему в Qt просто не сделали описание(в смысле текстовое представление) интерфейса в виде например xml.

                        Вот ты не поверишь, но сделали! :)
                        Цитата korvin @
                        прямо. с объектами, моделирующими объекты предметной области, а не какой-то набор свойств

                        Вот у объекта предметной области, для которого ты делаешь модель, есть нечто под названием "Цвет материала". Что такое это "нечто" с точки зрения клиента?
                          Цитата Flex Ferrum @
                          Да ну? :) Вот у тебя есть метод getCaption. В названии этого метода Caption - это что? Некая фикция, к объекту не имеющая никакого отношения?

                          getCaption нету, есть caption. это сообщение, на которое объект может ответить каким-то образом. свойство-то тут где? где "атрибутика", зачем выдумывать терминологию и впихивать ее внутрь системы?
                            Цитата korvin @
                            getCaption нету, есть caption. это сообщение, на которое объект может ответить каким-то образом. свойство-то тут где? где "атрибутика", зачем выдумывать терминологию и впихивать ее внутрь системы?

                            Хорошо. Есть сообщение "caption". Какую семантику несёт это существительное? Что (по мнению проектировщика интерфейса) ожидает получить клиент, отправив объекту это сообщение?
                              Цитата Flex Ferrum @
                              Вот ты не поверишь, но сделали! :)

                              ну молодцы че, только нужно было делать давно, не пришлось бы кучу геттеров/сеттеров писать

                              Добавлено
                              Цитата Flex Ferrum @
                              Вот у объекта предметной области, для которого ты делаешь модель, есть нечто под названием "Цвет материала". Что такое это "нечто" с точки зрения клиента?

                              какого клиента?
                                И (коли мы за чистоту и гигиену интерфейсов), почему сообщение (сиречь метод) не содержит в себе глагола? Какое это тогда поведение, если мы описываем его существительными?

                                Добавлено
                                Цитата korvin @
                                какого клиента?

                                :wall: Который этот объект будет использовать. Или у нас объекты - это сферические кони в вакууме? И их интерфейсы никому не требуются?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 289 290 [291] 292 293 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.4351 ]   [ 15 queries used ]   [ Generated: 1.08.26, 08:43 GMT ]