:)идентичен _полностью_ абстрактному
Отнес второе слово к первому.
С небольшими оговорками это так. Но наследовать можно только от одного абстрактного класса, а от интерфейсов сколько надо. Интерфейсы появились как компенсация множественного наследования, которое предали анафеме. Опять гибкость пострадала в угоду беспроблемности. Впрочем это может быть и хорошо.
Еще практикую наследование интерфейсов от интерфейсов :) Страшно звучит да?
Вообще говоря не представляю как можно строить систему классов в отрыве от их состояния.
Наследование соотвествует принципу подстановки. Если объект наследует от родителя и использует общее состояние, то здесь не только одни лишь контракты.
Насчет последнего пункта: Например доступ к некторому контракту должны иметь только доверенные лица, кому попало его вызывать нельзя. Скрытие имен интерфейсов то бишь.
Однако приведя класс к приватному интерфейсу его может выполнить кто угодно. Это как раз вина интерфейсов, они по природе своей публичны :)
Не согласен. Думать в терминах классов очень полезно. Интерфейсы полезны, когда нужно выстроить иерархию неких абстрактных методов типа icomparable. Но когда строится иерархия однотипных, похожих друг на друга классов полезно применять наследование. Интерфейсы влекут за собой избыточное кодирование, изменение означает полную переработку по всей иерархии. В наследовании есть очень полезная штука с дефолтной реализацией плюс еще могут быть поля. Короче на одних только интерфейсах каши не сваришь.
Интерфейсы кстати тоже могут нарушать инкапсуляцию - например, мне нужно выполнять какой-то базовый метод так, а не иначе - спасает наследование реализации. А интерфейсы нарушают. :)
ПС: пример надуман :) можно наследовать Карточку и Ключ от общего абстрактного класса.
ППС: Если у классов есть общие поля, то композицией не отделаешься. Имхо естественно наследовать реализацию.
ПППС: Бывают те кто пришли из спп - они пытаются контракты сделать через наследование. И сразу перестроиться нельзя.
Низкие требования к производительности - это как раз для hibernate. Он хорош для быстрого старта, для создания прототипа или для небольшого проекта. Мне больше нравится ibatis - сохраняет свободу дейсвтий. Время проведенное за тюнингом и доводкой hibernate практически нивелирует разницу между написанием сиквел-запросов. А так мне нравится в hibernate кэш и работа с сессией. Но то что он сам генерит запросы - это минус.
По моему наоборот :) Винды купил и долго настраиваешь\ставишь программы, а для линуксов я сразу при установке выбираю свой набор. Поставил и вперед с минимальными телодвижениями ( с известными оговорками - типа драйверов к железу, кодеков, сторонних программ и стандартных глюков)
Я бы тоже купил хрюшу. Вопрос вложенных в софт денег. К тому же глупо отказываться от оем, ведь для боксовой лицензии права на даунгрейд нет. А линукс второй системой можно поставить всегда :)
А вы думали в опенсурсе боги работают? Такие же люди как и все.
Оффтоп( не относится к делу Рейзера):
Чем быстрее линукс станет "как все", тем лучше. Кстати, заметил, что пингвины почему-то очень часто срываются на оскорбления, плюются при упоминании МС и .т.д. До сих пор есть тенденция претензии на элитарность, хотя в последнее время линукс-дистрибутивы изрядно опопсели и вроде гордиться уже особо нечем :)
Жена за его спиной снюхалась с его "другом и партнером". Рейзер заявлял, что они пытаются отобрать его бизнес. Видимо не мог просто так развестись, жена скорее всего претендовала на какую-то часть. Но убийство конечно не тот выход.
ПС: Команда namesys вроде бы продолжает работу, хотя долгов у Рейзера естественно выше крыши.
Просто грохнуть - это тупая бомба, малвар. Мы же говорим о вирусах в простейшем их понимании, т.е. вирус пытается скрытно распространиться встраиваясь во все доступные скрипты. И ждет когда его запустят под рутом :)(а такое рано или поздно произойдет), попутно распространяясь на другие машины, кстати для скриптов разница между дистрибутивами не помеха. Дальнейшие действия зависят уже от фантазии злоумышленника.
Представляю как я запускаю такой скриптик под владельцем экземпляра бд :) Угробятся данные не более.
А я наивно считал, что главное данные, а не система. Даа, правильно шутят, что it способно успешно решать только те проблемы, которые само и создает :)
http://community.livejournal.com/ru_prog…
Отнес второе слово к первому.
С небольшими оговорками это так. Но наследовать можно только от одного абстрактного класса, а от интерфейсов сколько надо. Интерфейсы появились как компенсация множественного наследования, которое предали анафеме. Опять гибкость пострадала в угоду беспроблемности. Впрочем это может быть и хорошо.
Вообще говоря не представляю как можно строить систему классов в отрыве от их состояния.
Насчет последнего пункта: Например доступ к некторому контракту должны иметь только доверенные лица, кому попало его вызывать нельзя. Скрытие имен интерфейсов то бишь.
Однако приведя класс к приватному интерфейсу его может выполнить кто угодно. Это как раз вина интерфейсов, они по природе своей публичны :)
Интерфейсы кстати тоже могут нарушать инкапсуляцию - например, мне нужно выполнять какой-то базовый метод так, а не иначе - спасает наследование реализации. А интерфейсы нарушают. :)
ПС: пример надуман :) можно наследовать Карточку и Ключ от общего абстрактного класса.
ППС: Если у классов есть общие поля, то композицией не отделаешься. Имхо естественно наследовать реализацию.
ПППС: Бывают те кто пришли из спп - они пытаются контракты сделать через наследование. И сразу перестроиться нельзя.
А клиенты-то золотые. Большинство не знакомых со словом скриншот уповает на телепатию или присылает 3-4 мегабайтовые фотки с экрана.
Оффтоп( не относится к делу Рейзера):
Чем быстрее линукс станет "как все", тем лучше. Кстати, заметил, что пингвины почему-то очень часто срываются на оскорбления, плюются при упоминании МС и .т.д. До сих пор есть тенденция претензии на элитарность, хотя в последнее время линукс-дистрибутивы изрядно опопсели и вроде гордиться уже особо нечем :)
ПС: Команда namesys вроде бы продолжает работу, хотя долгов у Рейзера естественно выше крыши.
А я наивно считал, что главное данные, а не система. Даа, правильно шутят, что it способно успешно решать только те проблемы, которые само и создает :)