Гибкая компоновка предпочтительна для естественной высоты заголовка и нижнего колонтитула. Это гибкое решение проверено в современных браузерах и фактически работает :) в IE11.
HTML
...
...
CSS
html {
height: 100%;
}
body {
height: 100%;
min-height: 100vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
margin: 0;
display: flex;
flex-direction: column;
}
main {
flex-grow: 1;
flex-shrink: 0;
}
header,
footer {
flex: none;
}
В основном вы правы. Однако, ваша множественность не требует уникальности
, хотя это будет иметь большой смысл :-) Строго придерживаясь спецификации UML, может опустить && !disks.contains(d))
из вашего кода. Или вы добавляете тип, как показано выше. (Или, возможно, просто предположите, что люди могут правильно это распознать.)
Примечание: я думаю, что SCSIController также не может подключить диск. Ваш UML показывает 1..4
, поэтому вам понадобится хотя бы один диск, который делает ваш код неправильным в этом отношении.