You are on page 1of 1

.

-operations ComplexOperation
1..*
OperationEngine +add()
Operation +remove()
+do(op: Operation) -operationHistory +elementAt()
1 +undo() +do() +size()
Application 1 0..*
-engine +redo() #execute() #execute()
-addToOperationHistory()

UndoableOperation

+undo() OpImageOpen OpImageSave


+redo()
-documents 0..* #execute() #execute() #execute()
Image <<interface>>
-bitmap IMementoOriginator
OpImageResize OpNoiseRemove
+getWidth() +getMemento(): IMemento -mementoOriginator
+getHeight() +setMemento(m: IMemento) -quantity
-width
+getMemento(): IMemento -height #execute()
+setMemento(m: IMemento)
#execute()

<<interface>> GimpNoiseReduction
ImageMem -startState INoiseRemovalAlgorithm
-bitmap +execute()
-endState
IMemento

NoiseRemovalAlg1 NoiseRemovalAlg2

+execute() +execute()

do Operation execute
. Gimp Noise Reduction
open source n Gimp.
i. ?
ii. .

( - Operation, OpImageOpen, OpImageSave, OpImageResize,


OpNoiseRemove, OperationEngine, InoiseRemoveAlgorithm)
( Operation, ComplexOperation, )
( Operation, ,
do Operation execute )
( Iemento, Subjekat ImementoOriginator, UndoableOperation)
( InoiseRemoveAlgorithm, NoiseRemovalAlg1
NoiseRemovalAlg2, OpNoiseRemove)
( NoisreRemovalAlg2, GimpNoiseReduction, InoiseRemoveAlgorithm,
OpNoiseRemove)

You might also like