Инструменты пользователя

Инструменты сайта


bbnohost

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
bbnohost [2013/12/04 16:47]
admin
bbnohost [2018/11/30 01:12] (текущий)
Строка 23: Строка 23:
  
 Разделение *System* на абстрактный интерфейс и платформо-зависимую реализацию позволяет добиться **герметичности** платформо-независимой части системного слоя. Герметичность позволяет заменять платформо-зависимые системные модули без модификации клиентских модулей. Разделение *System* на абстрактный интерфейс и платформо-зависимую реализацию позволяет добиться **герметичности** платформо-независимой части системного слоя. Герметичность позволяет заменять платформо-зависимые системные модули без модификации клиентских модулей.
 +
 +Герметичность здесь понимается как отсуствие [[http://​www.joelonsoftware.com/​articles/​LeakyAbstractions.html|протечек абстракций]] системного и прикладного слоя.
  
 В идеале,​ абстракции системного слоя должны удовлетворять всем потребностям прикладного слоя. Но, по историческим причинам,​ в эталонной сборке BlackBox системные абстракции не идеальны и поэтому имеются **нарушения герметичности** системного слоя (также обозначенные на рисунке красными стрелками),​ что приводит к прямой или косвенной (строковые константы и т.д.) зависимости прикладных модулей от операционной системы. ​ В идеале,​ абстракции системного слоя должны удовлетворять всем потребностям прикладного слоя. Но, по историческим причинам,​ в эталонной сборке BlackBox системные абстракции не идеальны и поэтому имеются **нарушения герметичности** системного слоя (также обозначенные на рисунке красными стрелками),​ что приводит к прямой или косвенной (строковые константы и т.д.) зависимости прикладных модулей от операционной системы. ​
bbnohost.txt · Последние изменения: 2018/11/30 01:12 (внешнее изменение)