Подтвердить что ты не робот

Активный класс против пассивного класса

В спецификации UML надстройка 2.5 (все еще бета, стр. 203)

Класс может быть обозначен установкой isActive в true как активным (то есть, каждый из его экземпляров является активным объектом). Когда isActive false, Класс является пассивным (т.е. Каждый его экземпляр выполняется в пределах контекст какого-либо другого объекта).

  • Интересно, есть ли простой пример, иллюстрирующий различия в применении каждого из них?
  • И немного разработайте эту концепцию?
4b9b3361

Ответ 1

По определению

Активные объектыВ UML активные классы и, следовательно, активные объекты, существуют в своей собственной цепочке операций и имеют свой собственный адрес пространство. Если выполнение или действие кода рассматривается в терминах потока, активные объекты могут запускать или управлять этим потоком. Активные объекты, в другие слова, являются последовательными и делают что-то: изменяют переменные, изменяют поведение программы и т.д. В UML активные классы и объекты отличается тем, что имеет более широкую границу, чем пассивные объекты.

Пассивные объекты в UML обычно не имеют способность изменять или начинать поток исполнения, поскольку они должны подождите, пока другой объект вызовет их. Вместо этого пассивные объекты обычно используется для хранения информации, и во многих случаях это информация может передаваться между несколькими другими объектами. Это может разрешать доступ к пассивным объектам одновременно, а не последовательно.Чтобы убедиться, что данные, содержащиеся внутри, имеют высокую целостность, UML позволяет пассивным объектам настаивать на их доступе последовательно; если два потока пытаются вызвать один и тот же последовательный пассивный объект, этот объект может задержать второй поток до тех пор, пока сначала закончил с ним.

Полезный пример можно найти Здесь