Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сущность понятия интерфейса 
:(
    Опции темы
mes
Дата 30.6.2013, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(EvilsInterrupt @  30.6.2013,  12:36 Найти цитируемый пост)
Когда вы говорите "При правке кода интерфейс к моего класса не менялся", для другого программиста это означает "Ни одна из функций применяемого класса позволяющая им пользоваться не менялась и мой код должен работать также как и раньше".

увы нет, неизменненный интерфейс не явмяется гарантией неизменности логики.. 


--------------------
PM MAIL WWW   Вверх
EvilsInterrupt
Дата 30.6.2013, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Цитата(mes @  30.6.2013,  14:44 Найти цитируемый пост)
увы нет, неизменненный интерфейс не явмяется гарантией неизменности логики..  

Ну то что интерфейс меняется, мы это знаем ) Это суть всей программной индустрии. Поэтому и вводятся практики подобной семантическому версированию, когда поменялась мажорная циферка, то значит чтото могло поменяться значит у автора были веские причины для изменения.

Но, если человек хороший и позитивный, он или пометит что-либо "depricated"(к примеру std::auto_ptr не удален же!!! Нам программистам дали возможность его выпилить). Либо программист сразу изначально хорошо подумает и сделает хороший интерфейс, к примеру пользуясь Test Driven Development можно получить очень удачные интерфейсы ;)
PM MAIL WWW ICQ Jabber   Вверх
mes
Дата 30.6.2013, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(EvilsInterrupt @  30.6.2013,  12:50 Найти цитируемый пост)
Ну то что интерфейс меняется, мы это знаем )

... я т вроде о неизменном.. 



--------------------
PM MAIL WWW   Вверх
EvilsInterrupt
Дата 30.6.2013, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Цитата(mes @  30.6.2013,  14:55 Найти цитируемый пост)
... я т вроде о неизменном.. 

Ну ок. Мы все юзаем "базовый класс" "мобильный телефон". К пример Вы продали\подарили\потеряли\украли свой старый Nokia 7500 Prism и купили себе новый HTC Desire. Какова Ваша реакция если вместо попытки звонить по нажатию "зеленой клавиши" на экране вы будете видеть выключение устройства?

О неизменности поведения говорит нам принцип "Принцип подстановки Лискоу". Если мы в базовом класс сделали "дозвон", то в потомке должно быть именно дозвоном и ничем другим!
PM MAIL WWW ICQ Jabber   Вверх
mes
Дата 30.6.2013, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(EvilsInterrupt @  30.6.2013,  13:33 Найти цитируемый пост)
О неизменности поведения говорит нам принцип "Принцип подстановки Лискоу".

 smile с поправкой, что это вывод от обратного smile



--------------------
PM MAIL WWW   Вверх
akizelokro
Дата 30.6.2013, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



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

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
akizelokro
Дата 30.6.2013, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Всё решается на уровне выбранной модели. Где-то объект объект, а в другой модели он интерфейс, а в третьей уже человек. А вот уровень, на котором останавливается расмотрение модели, ограничивается целесообразностью. Или практичностью. Они же аналог логической бритвы Оккама.

Так что давайте сойдемся на том, что у моделей бывают интерфейсы. От самых больших до самых крохотных.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
EvilsInterrupt
Дата 30.6.2013, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Цитата(akizelokro @  30.6.2013,  17:10 Найти цитируемый пост)
это не базовый класс. Он сам является интерфейсом

А чем как правило является интерфейс при программировании на C++ или Java языках? Пишут как раз таки базовый класс с набором чистых виртуальных функций
PM MAIL WWW ICQ Jabber   Вверх
hoz
Дата 30.6.2013, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Благодарю всех участников ветки, вопрос, можно сказать, разрешён. Тока вот "извращённость" внедрения COM-интерфейса, как было сказано выше, мне не очень понятно. Создаётся такое впечатление, что COM-интерфейсы вообще ненужны, и придумали их, для каких-то своих не особо важных и нужных целей, судя по постам, которые были выше. Хотя в книге Дейла Роджерсона "Основы COM" COM-интерфейсы восхваляют, что мол это чудо, которое так удобно и нужно в программировании.

Это сообщение отредактировал(а) hoz - 1.7.2013, 00:04
PM MAIL   Вверх
akizelokro
Дата 30.6.2013, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Вообще-то, хронологически раньше COM-технологий появилась модель СORBA. COM технологии всего лишь сужение или менее универсальная аналогия Corba-архитектуры. И хронологически СOM переходной ступенькой к платформе .NET.

Здесь нужно понимать, что авторы книг о компьютерных технологиях работают в сотрудничестве с компаниями-производителями технологии. И финансово заинтересованы в очевидных вещах, не исключая и понятного всем энтузиазма.

А по сути потребность в ActiveX (COM) объектах была очень большой, да и сейчас они для Windows важны. Несмотря на NET.

PS. Браузеры начинают задыхаться и дико тормозить. В JavaScript появилось дикое количество новых библиотек, которые жутко пожирают память и прочие ресурсы. Так что есть возможность, что Интернет захлебнётся через год-два именно из-за этого.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
EvilsInterrupt
Дата 30.6.2013, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



hoz, Технология COM, как уже заметили выше это своего рода ступенька к другой технологии, технологии .NET. Но и сейчас COM используется, к примеру технология OPC (OLE For Process Control) это теже самые COM-сервера! Они пишутся согласно стандартам OPC-технологии, но чисто технически это COM-сервера. Применяются в SCADA системах. К примеру любое современное производство необходится без SCADA-систем, примеры: ТЭЦ, Нефтепереработка, Химическое производство, даже на Московском монорольсе говорят тоже есть OPC-сервера.

Как это работает на примере SCADA ? Есть очень большое количество различных датчиков различных типов(давление, температура, скорость, вязкость, кислотность и др.) Информации очень и очень много, их связывают с компьютером на котором стоит SCADA и уж тот содержит визуализацию для специалистов тех. процесса, а также OPC-сервера. В виду того что они эти OPC-сервера стандартны, то можно написать программы репликаторы. Программы репликаторы соединясь к OPC-серверам забирают данные и перекладывают их в базы данных, а уж от туда куда угодно для дальнейшей обработки.

Технология COM до сих пор живет и применяется.
PM MAIL WWW ICQ Jabber   Вверх
akizelokro
Дата 1.7.2013, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Угу, только совсем недавно был заказ на ActiveX компонент для показа анимированных gif-файлов (там были какие-то отличительные черты, которых не было у существующих обнаруженных заказчиком ActiveX-компонентов). Ну, задачи бывают. Правда, такие заказы идут не каждый день.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
bsa
Дата 2.7.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Кто спорит? Уверен, что кому-то еще и специалисты по dos и mfc нужны. Но это не отменяет устаревание и изначальную неудачность интерфейсов.
PM   Вверх
EvilsInterrupt
Дата 2.7.2013, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



bsa
Ну в свое время COM была очень даже революционной. Просто нужно принять как должное что человек развивается и то что кажется весьма удобным сегодня завтра может показаться бредом.
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.