Delegate Managers
A screen doesn't directly lay out any of its fields. Instead, it delegates that to a manager that's specified when the screen is instantiated. All the manager methods on the screen (add, delete, insert, etc.) actually end up invoking the same methods on the delegate manager. The only component the screen handles directly is the delegate manager. This separation of manager and screen makes it easy to change the internal layout of any screen. This also means that a screen must have a delegate manager at all times, so it must be specified at instantiation time and can never be changed. The delegate manager can be any valid Manager class, as there are no extra requirements above what a regular Manager does.
Post a comment