Простота и трудоемкость
Простота и трудоемкость
Механизм прямого обмена сообщениями крайне просто выражается в программном коде. Когда достигнута полная ясность в значениях адресных параметров обмена, необходимо всего лишь несколько операторов, чтобы заставить все это «крутиться».
Со стороны сервера, например, это выглядит так:
int chid = ChannelCreate(0);
...
while (true) {
struct _msg_info info;
int rcvid = MsgReceive(chid, &bufin, sizeof(bufin), &info);
if (rcvid < 0) exit(EXIT_FAILURE);
if (MsgReply(rcvid, EOK, &bufou, sizeof(bufou) < 0) exit(EXIT_FAILURE);
}
Co стороны клиента:
int coid = ConnectAttach(node, pid, chid, _NTO_SIDE_CHANNEL, 0);
if (coid < 0) exit(EXIT_FAILURE);
...
while(...)
if (MsgSend(coid, &bufou, sizeof(bufou), &bufin, sizeof(bufin)) == -1)
exit(EXIT_FAILURE);
}
Код для реализации того же обмена, но организованного как менеджер ресурса, будет как минимум в несколько раз объемнее (образцы менеджеров мы уже видели ранее по тексту). Кроме того, по большей части он будет состоять из заполнения полей некоторых внутренних структур, используемых библиотеками менеджера ресурсов или пула потоков. На первый поверхностный взгляд такой код маловразумителен.
С другой стороны, весь достаточно объемный код любого менеджера ресурса — это очередное повторение одного и того же общего шаблона для написания менеджеров. При некоторых минимальных навыках написание самых замысловатых менеджеров ресурсов становится совершенно рутинным занятием, не превышающим по трудоемкости написание простого обмена сообщениями. Большим подспорьем здесь является наличие в комплекте технической документации QNX огромного (более 80 страниц) раздела, исчерпывающе описывающего технику создания менеджеров ресурсов; по качеству и скрупулезности изложения это одна из лучших частей всей технической документации.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Простота в использовании
Простота в использовании После правильной установки и настройки пользоваться системой VoIP-телефонии не сложнее, чем обычным телефоном. Принцип все тот же: вы снимаете трубку, ждете гудка, набираете номер, а когда собеседник отвечает, начинаете разговор. Конечно, если
§ 147. Простота ≠ примитивность
§ 147. Простота ? примитивность 5 марта 2008Фасад с карнизом на крыше всегда смотрится в сто раз лучше, домашнее, милее, роднее, приятнее и человечнее, чем фасад без ничего. Непонятно, почему это неочевидно современным архитекторам. Это же верно и по отношению к любому другому
6. Главное — корректность, простота и ясность
6. Главное — корректность, простота и ясность РезюмеКорректность лучше быстроты. Простота лучше сложности. Ясность лучше хитроумия. Безопасность лучше ненадежности (см. рекомендации 83 и 99).ОбсуждениеСложно преувеличить значение простоты проектирования и ясности кода.
3.2.5 Простота обозрения (ease of overview)
3.2.5 Простота обозрения (ease of overview) Документация пользователя должна быть достаточно проста для изучения пользователем, чтобы он мог выявить все описываемые в ней взаимосвязи компонентов продукта.В каждый документ может быть включено оглавление и предметный
А.2.3.3 Простота использования (Operability)
А.2.3.3 Простота использования (Operability) Атрибуты программного обеспечения, относящиеся к усилиям пользователя но эксплуатации и оперативному
А.2.6.2 Простота внедрения (Installability)
А.2.6.2 Простота внедрения (Installability) Атрибуты программного обеспечения, относящиеся к усилиям, необходимым для внедрения программного обеспечения в конкретное
ТЕМА НОМЕРА: Святая простота
ТЕМА НОМЕРА: Святая простота Автор: Владимир ГуриевДжейсон Фрид (Jason Fried) полагает, что люди привыкли все усложнять, и это им мешает. Например, писатели так и не научились толком продавать электронные книги в Интернете не потому, что это сложно само по себе, а потому, что у
Простота использования (Easy of Use)
Простота использования (Easy of Use) Определение: простота использованияПростота использования - это легкость, с которой люди с различными знаниями и квалификацией могут научиться использовать ПО и применять его для решения задач. Сюда также относится простота установки,
У16.1 Наследование: простота и эффективность
У16.1 Наследование: простота и эффективность Перепишите и упростите ранее созданную реализацию защищенного стека, сделав класс STACK3 потомком, а не клиентом STACK, чтобы избежать излишних обходных путей. (Подсказка: см. правила взаимодействия наследования и скрытия