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

    а почему бы ему там не быть? документ становится более самостоятельным и не зависит от возможностей редактора, разные типы документов могут по-разному реализовывать историю, в зависимости от особенностей форматов, которые они реализуют. редактор может лишь реализовывать какой-то базовый, примитивный, но универсальный метод реализации истории и использовать его только для документов, не реализующих интерфейс истории
    Сообщение отредактировано: korvin -
      Цитата Повстанець @
      Кто как считает?


      Я считаю повстанец занимается словоблудием. Кто как считает? Откуда ты взял вид?
        Цитата --Ins-- @
        Я считаю повстанец занимается словоблудием. Кто как считает? Откуда ты взял вид?
        Оттуда же, откуда ты взял историю. Мне показалось, что она там нужна.
          Цитата Повстанець @
          Хрен с ней с декомпозицией. Можно ведь и вид туда запихнуть. Кто как считает?

          почему хрен? каждый класс документа по-своему реализует фичи, которые с ним можно творить, редактор же эти фичи отображает кнопачками на панели, для некоторых базовонеобходимых фич может предоставлять простые реализации. нормальная декомпозиция -- редактор сам по себе, документ сам по себе. что не нравится?
            Цитата korvin @
            а почему бы ему там не быть?
            Потому что история изменений никак не влияет на содержимое документа. Имеет лишь коственную связь, а потому и композиция должна быть коственной.
              Цитата --Ins-- @
              Цитата D_KEY @
              Что ты понимаешь под "одинаковостью"?


              Это я спросил у повстанца :)

              Так сам-то что ответишь?

              Цитата
              Две кнопки на форме с одинаковым текстом, цветом, обработчиками событий и т.д., но расположенные в разных местах формы - одинаковы или нет?

              Я не очень понимаю, зачем тебе сравнивать кнопки... Но ответ очевиден - если в твоей системе позиция является состоянием кнопки, то объекты разные, если нет, то нет :)
                Цитата Повстанець @
                Оттуда же, откуда ты взял историю.


                Во-первых, историю взял не я, раз речь зашла, в моей задаче был флажок "модифицирован". Это не одно и то же. Но и по истории ничего против не имею - почему бы классу документу не хранить историю у себя, предоставляя клиентам интерфейс Undo/Redo, который в зависимости от типа документа может по-разному функционировать. Сама история может быть отдельным классом, что не мешает объекту-документу хранить ее у себя. И это не вид, а модель, а ты вид приплел :wacko: На вопросы мои ответишь?
                  Цитата korvin @
                  Цитата korvin @
                  так а где ты будешь хранить историю команд? в самих объектах-документах, к которым команды применялись? или заведешь словарь документ->история в объекте-редакторе?

                  мне кажется тут принципиальной разницы нет, но могу ошибаться, кто как считает?

                  Зависит от конкретной задачи. Я бы хранил отдельно, чтобы не нагружать абстракцию документа ненужными вещами.
                  Кроме того, приложению может требоваться единая история команд для нескольких(всех?) документов. Так что...
                  Но все-таки абстрактные документы в вакууме не очень хочется обсуждать.
                    Цитата D_KEY @
                    Так сам-то что ответишь?


                    Ответил уже. Сначала критерии одинаковости определить нужно. Можно сравнивать контент документа, тогда документы с одинаковым содержимым и разным состоянием - равны. Сравнивать можно и иначе, но смысла обычно нет
                      Цитата D_KEY @
                      Но все-таки абстрактные документы в вакууме не очень хочется обсуждать.

                      абстракция -- одно из ключевых понятий ООП! =))
                        Цитата --Ins-- @
                        Во-первых, историю взял не я, раз речь зашла, в моей задаче был флажок "модифицирован".
                        Это тоже своего рода история изменения. С низкой глубиной и детализацией.
                        Цитата --Ins-- @
                        Но и по истории ничего против не имею - почему бы классу документу не хранить историю у себя, предоставляя клиентам интерфейс Undo/Redo, который в зависимости от типа документа может по-разному функционировать.
                        А почему бы в таком случае в документе не хранить ещё сразу и вид, который в зависимости от типа документа ещё и по разному бы его показывал?
                          Цитата D_KEY @
                          Кроме того, приложению может требоваться единая история команд для нескольких(всех?) документов. Так что...

                          тогда тебе придется в каждом конкретном случае проверять, нужно ли откатить изменения одного документа или нескольких.
                            Цитата Повстанець @
                            А почему бы в таком случае в документе не хранить ещё сразу и вид, который в зависимости от типа документа ещё и по разному бы его показывал?


                            Потому что вид определяет сам вид, а не документ. Он может быть такой, а может быть - эдакий. Модель трех чисел можно отобразить в виде таблицы, диаграммы или графика. И от самой модели это не зависит. А флажок "модифицирован" - это просто служебное состояние документа. Еще раз: объект документа это не то же самое, что и содержимое документа. Объект это данные и методы для обработки этих данных. Управление состоянием - это собственно элемент обработки данных
                              Цитата korvin @
                              тогда тебе придется в каждом конкретном случае проверять, нужно ли откатить изменения одного документа или нескольких.
                              Зачем? Изменение может быть привязано к своему документу.
                                Повстанець, повторю вопрос, в .net как с точки зрения декомпозиции классы, нормально спроектированы? ;)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 83 84 [85] 86 87 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1742 ]   [ 15 queries used ]   [ Generated: 30.07.26, 01:20 GMT ]