Активный класс против пассивного класса
в спецификации UML superstructure 2.5 (still Beta, стр. 203)
класс может быть обозначен установкой isActive в true как active (т. е., каждый из его экземпляров является активным объектом). Когда isActive ложно Класс является пассивным (т. е. каждый из его экземпляров выполняется в контексте какого-то другого объекта).
- интересно, есть ли простой пример, иллюстрирующий различия в применении каждого из их?
- и разработать эту концепцию немного?
1 ответов
по определению
Активные Объекты В UML активные классы,и поэтому активные объекты, существуют в своем собственном потоке операций и имеют свой собственный адрес пространство. Если выполнение или действие кода рассматривается в терминах потока, активные объекты могут запускать или управлять этим потоком. Активные объекты,in другими словами, являются последовательными и что-то делают: изменяют переменные, изменяют поведение программы, и так далее. в UML, активные классы и объекты отличается тем, что имеет более толстую границу, чем пассивные объекты.
пассивные объекты в UML обычно не имеют возможность изменять или начинать поток выполнения, так как они должны подождите, пока их вызовет другой объект. Вместо пассивные объекты обычно используется для хранения информации, и во многих случаях это информация может быть разделена между несколькими другими объектами. это может разрешить пассивное объекты, доступ к которым осуществляется одновременно, а не последовательно. Чтобы убедиться, что данные, содержащиеся внутри, имеют высокую целостность, UML позволяет пассивным объектам настаивать на доступе к ним последовательно; если два потока пытаются вызвать один и тот же последовательный пассивный объект, этот объект может задержать второй поток до первый покончил с этим.
полезный пример можно найти здесь