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

в спецификации UML superstructure 2.5 (still Beta, стр. 203)

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

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

1 ответов


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

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

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

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