На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> Меня бесят ламеры , class vs Interface
    речь о яве, но жавистов спрашивать бесполезно, Я всю жизнь писал так

    ExpandedWrap disabled
        public interface Constants {
           static final int  responseCode = -1;
      }


    счас умные архитекторы мне говорят что я дурак ;) и надо писать так,

    ExpandedWrap disabled
        public class Constants {
          public  static final int  responseCode = -1;
       
        private Constants () {  // чтобы вдруг кто то не создал обьект
         }


    Чего Я не понимаю ? Только не шлите в интернет там любителей, никогда не писавших софт,
    пруд пруди,
    Сообщение отредактировано: sergioK -
      sergioK, но они правы, ты --- дурак.

      Цитата sergioK @
      надо писать так

      И так писать не надо. У вас там в Израеле что, сборище дураков?
        Цитата korvin @
        sergioK, но они правы, ты --- дурак.

        Цитата sergioK @
        надо писать так

        И так писать не надо. У вас там в Израеле что, сборище дураков?

        Это нам из Индии архитекторов дали,
        Ну и как надо, расскажи умник ?


        P.S.
        Сначала на это ответь, потом я еще расскажу про этих талатнливых пиджинов ;)
        Сообщение отредактировано: sergioK -
          Цитата sergioK @
          Чего Я не понимаю ?

          Во-первых, у тебя там в одном случае интерфейс, в другов класс.
          Во-вторых, а в яве нет перечислений (enum)?
            Цитата Fester @
            Во-вторых, а в яве нет перечислений (enum)?
            Насколько я понял, они там настолько убогие, что уж лучше как Сирожа сделать:
            ExpandedWrap disabled
              enum Constants {
                responseCode(-1);
               
                private int value;
                Constants(int value) { this.value = value; }
              }
            Сообщение отредактировано: applegame -
              Цитата sergioK @
              счас умные архитекторы мне говорят что я дурак ;) и надо писать так,

              Архитектор ПО, тем более из Индии - дурак по определению. Архитектор вообще ПО не видит, ему плевать, хорошо работает ПО или нет. Главное для архитектора - соответствие паттернам.
                Цитата Fester @
                Цитата sergioK @
                Чего Я не понимаю ?

                Во-первых, у тебя там в одном случае интерфейс, в другов класс.

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

                Добавлено
                Цитата Fester @
                а в яве нет перечислений (enum)?

                Есть, иногда он лучше иногда нет только вопрос не о них,
                В яве из покон веков, для констант испоьзуют интерфэйсы,
                а вот зачем сlass с private ctor?

                Добавлено
                Цитата applegame @
                Насколько я понял, они там настолько убогие, что уж лучше как Сирожа сделать:
                ExpandedWrap disabled
                  enum Constants {
                    responseCode(-1);
                   
                    private int value;
                    Constants(int value) { this.value = value; }
                  }

                Убогие в сравнение чем ?
                Для чего тебе ксонструктор? что не так в

                ExpandedWrap disabled
                    interface Constants {
                     final static long timeout= 1800;  
                  }
                  Цитата sergioK @
                  Чего Я не понимаю ?

                  Что такое интерфейсы, например :) Явно нецелевое использование тут.
                  А как ты потом изаешь константы эти из интерфейса? Если делаешь implements такого интерфейса в нужном классе, то точно говнокод.
                  Сообщение отредактировано: D_KEY -
                    Цитата sergioK @
                    Чего Я не понимаю ?

                    http://www.javapractices.com/topic/TopicAction.do?Id=32
                      Цитата D_KEY @
                      Цитата sergioK @
                      Чего Я не понимаю ?

                      Что такое интерфейсы, например :) Явно нецелевое использование тут.
                      А как ты потом изаешь константы эти из интерфейса? Если делаешь implements такого интерфейса в нужном классе, то точно говнокод.

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

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

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

                      Добавлено
                      Цитата D_KEY @
                      Что такое интерфейсы, например :) Явно нецелевое использование тут.

                      Итерфэйс если говорит в контексте C++ это класс без мемберов, компилятор не даст,
                      только статики, в яве не просто файлов как .h в С/С++, все должно быть в класах
                      или интерфэйсах, как ты по другому определишь константы? да и в С++ чем плохо группу
                      контант , вписать их в один класс, сделав его pv .
                      Сообщение отредактировано: sergioK -
                        Цитата sergioK @
                        а вот зачем вместо интерфайса класс писать,
                        пока никто не ответил

                        Там именно это и написано, но если тебе сложно было читать, попробуй тут: https://dzone.com/articles/reasons-why-the-...pattern-is-disc
                          Цитата sergioK @
                          Итерфэйс если говорит в контексте C++ это класс без мемберов

                          При чем тут C++? В C++ интерфейсов нет.

                          Интерфейс - это не класс без мемберов, а абстрактный тип для описания поведения/контракта, которому должен соответствовать любой класс, который реализует этот самый интерфейс. При чем тут константы?

                          Добавлено
                          Цитата sergioK @
                          все должно быть в класах
                          или интерфэйсах, как ты по другому определишь константы?

                          Ну раз в Java нет самостоятельных модулей, то в классе и определяем. закрываем конструктор, может быть даже делаем класс финальным. Всяко это ближе к нормальному коду, чем интерфейс.

                          Добавлено
                          Цитата sergioK @
                          да и в С++ чем плохо группу
                          контант , вписать их в один класс, сделав его pv .

                          Во-первых, для того, чтобы запретить инстанцирование объекта некоторого класса, не обязательно делать его абстрактным.
                          Во-вторых, в C++ есть namespace, нет необходимости в классе в данном случае.
                            Цитата D_KEY @
                            Интерфейс - это не класс без мемберов, а абстрактный тип для описания поведения/контракта, которому должен соответствовать любой класс, который реализует этот самый интерфейс. При чем тут константы?

                            то есть класс у кторого нет конструктора , ему нельзя сказать new
                            у интефейса нет состояния, тоесть мемберы, что в классе описывает состояние,
                            если не мемберы?
                              Цитата D_KEY @
                              Всяко это ближе к нормальному коду, чем интерфейс.
                              Почему ближе? Интерфейс как неймспейс, сойдёт для языка, в который не завезли нормальные перечисления. Завезли только адовое убожество, которое я привел выше.

                              Добавлено
                              Цитата korvin @
                              Цитата sergioK @
                              а вот зачем вместо интерфайса класс писать,
                              пока никто не ответил

                              Там именно это и написано, но если тебе сложно было читать, попробуй тут: https://dzone.com/articles/reasons-why-the-...pattern-is-disc

                              Какое же все-таки говно эта Java. :facepalm:
                              Сообщение отредактировано: applegame -
                                Цитата sergioK @
                                то есть класс у кторого нет конструктора , ему нельзя сказать new
                                у интефейса нет состояния, тоесть мемберы, что в классе описывает состояние,
                                если не мемберы?

                                Ничего не понял. Ты не согласен с определением интерфейса, которое я привел? Или что?

                                Добавлено
                                Цитата applegame @
                                Почему ближе? Интерфейс как неймспейс, сойдёт для языка, в который не завезли нормальные перечисления.

                                Ближе потому, что в таком языке класс - это более широкое понятие. И он вполне себе может быть использован в качестве пространства имен. А вот интерфейс имеет достаточно узкое предназначение. Не вижу смысла его тут использовать. Выглядит странно.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0529 ]   [ 15 queries used ]   [ Generated: 29.03.24, 23:46 GMT ]