![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
увы нет, неизменненный интерфейс не явмяется гарантией неизменности логики.. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Ну то что интерфейс меняется, мы это знаем ) Это суть всей программной индустрии. Поэтому и вводятся практики подобной семантическому версированию, когда поменялась мажорная циферка, то значит чтото могло поменяться значит у автора были веские причины для изменения. Но, если человек хороший и позитивный, он или пометит что-либо "depricated"(к примеру std::auto_ptr не удален же!!! Нам программистам дали возможность его выпилить). Либо программист сразу изначально хорошо подумает и сделает хороший интерфейс, к примеру пользуясь Test Driven Development можно получить очень удачные интерфейсы ;) |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
... я т вроде о неизменном.. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Ну ок. Мы все юзаем "базовый класс" "мобильный телефон". К пример Вы продали\подарили\потеряли\украли свой старый Nokia 7500 Prism и купили себе новый HTC Desire. Какова Ваша реакция если вместо попытки звонить по нажатию "зеленой клавиши" на экране вы будете видеть выключение устройства? О неизменности поведения говорит нам принцип "Принцип подстановки Лискоу". Если мы в базовом класс сделали "дозвон", то в потомке должно быть именно дозвоном и ничем другим! |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Мобильный телефон это не базовый класс. Он сам является интерфейсом к простому разговору между двумя (или больше) людьми. Это если рассматривать абстрактные общности на другом детальном уровне. А если начать рассматривать модель существавания бога, то и сами люди становятся интерфейсом (частью интерфейса) к модели созданного богом мира.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Всё решается на уровне выбранной модели. Где-то объект объект, а в другой модели он интерфейс, а в третьей уже человек. А вот уровень, на котором останавливается расмотрение модели, ограничивается целесообразностью. Или практичностью. Они же аналог логической бритвы Оккама.
Так что давайте сойдемся на том, что у моделей бывают интерфейсы. От самых больших до самых крохотных. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
А чем как правило является интерфейс при программировании на C++ или Java языках? Пишут как раз таки базовый класс с набором чистых виртуальных функций |
|||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Благодарю всех участников ветки, вопрос, можно сказать, разрешён. Тока вот "извращённость" внедрения COM-интерфейса, как было сказано выше, мне не очень понятно. Создаётся такое впечатление, что COM-интерфейсы вообще ненужны, и придумали их, для каких-то своих не особо важных и нужных целей, судя по постам, которые были выше. Хотя в книге Дейла Роджерсона "Основы COM" COM-интерфейсы восхваляют, что мол это чудо, которое так удобно и нужно в программировании.
Это сообщение отредактировал(а) hoz - 1.7.2013, 00:04 |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Вообще-то, хронологически раньше COM-технологий появилась модель СORBA. COM технологии всего лишь сужение или менее универсальная аналогия Corba-архитектуры. И хронологически СOM переходной ступенькой к платформе .NET.
Здесь нужно понимать, что авторы книг о компьютерных технологиях работают в сотрудничестве с компаниями-производителями технологии. И финансово заинтересованы в очевидных вещах, не исключая и понятного всем энтузиазма. А по сути потребность в ActiveX (COM) объектах была очень большой, да и сейчас они для Windows важны. Несмотря на NET. PS. Браузеры начинают задыхаться и дико тормозить. В JavaScript появилось дикое количество новых библиотек, которые жутко пожирают память и прочие ресурсы. Так что есть возможность, что Интернет захлебнётся через год-два именно из-за этого. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
EvilsInterrupt |
|
|||
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 до сих пор живет и применяется. |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Угу, только совсем недавно был заказ на ActiveX компонент для показа анимированных gif-файлов (там были какие-то отличительные черты, которых не было у существующих обнаруженных заказчиком ActiveX-компонентов). Ну, задачи бывают. Правда, такие заказы идут не каждый день.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Кто спорит? Уверен, что кому-то еще и специалисты по dos и mfc нужны. Но это не отменяет устаревание и изначальную неудачность интерфейсов.
|
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
bsa,
Ну в свое время COM была очень даже революционной. Просто нужно принять как должное что человек развивается и то что кажется весьма удобным сегодня завтра может показаться бредом. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |