Введение в объектно-ориентированный дизайн с Java. Тимур Машнин
есть объект, представляющий стул в вашем программном обеспечении, то это Entity объект.
Если у вас есть объект, представляющий здание или клиента, это все Entity объекты или сущности.
Как правило, эти объекты знают свои атрибуты.
Они также смогут модифицировать себя и иметь для этого некоторые правила.
Когда вы идентифицируете объекты для включения в ваше программное обеспечение и разбиваете эти объекты на более мелкие объекты, вы сначала получаете Entity объекты.
Другие категории объектов приходят позже, когда вы начнете думать о техническом дизайне программного обеспечения.
Далее, это Boundary объекты.
Граничные объекты Boundary – это объекты, которые находятся на границе между системами.
Это может быть объект, который соприкасается с другой программной системой, например, объект, который получает информацию из Интернета.
Он также может быть объектом, который несет ответственность за отображение информации пользователю и получение его ввода.
Если вы программируете пользовательский интерфейс – визуальный аспект программного обеспечения – вы, в основном, работаете с граничными объектами.
Любой объект, который имеет дело с другой системой – пользователем, другой программной системой, Интернетом, – можно считать граничным объектом.
Далее, это объекты управления Control.
Control объектами являются объекты, которые отвечают за координацию.
Вы обнаружите объекты управления при попытке деления большого объекта и обнаружите, что было бы полезно иметь объект, который управляет другими объектами.
Организация программного обеспечения с помощью объектов сущностей, граничных объектов и объектов управления позволяет коду быть более гибким, многоразовым и поддерживаемым.
Для программного обеспечения существуют два типа требований.
Это функциональные требования, которые описывают, что система или приложение должны делать.
Например, мультимедийное приложение имеет функциональное требование о возможности загрузки полноразмерного фильма.
Естественно, что разработка программного обеспечения должна четко определять решение для удовлетворения таких требований.
Кроме функциональных требований, есть также нефункциональные требования, которые определяют, насколько хорошо система или приложение делают то, что она делает.
Такие требования могут описывать, насколько хорошо программное обеспечение работает в определенных ситуациях.
Например, мультимедийное приложение может иметь нефункциональные требования для загрузки полноразмерного фильма с определенной скоростью и для воспроизведения такого фильма в пределах определенного размера памяти.
И для решения важны как функциональные, так и нефункциональные требования.
Другой тип нефункциональных требований касается того, насколько хорошо может развиваться код программного обеспечения.
Например, части реализации, возможно, придется поддерживать использование