On Wed, 28 Mar 2001 08:18:22 +1200, Michael McCallum wrote:
>
>> >>> * define task contexts that define various common aspects
>> >>> * (logging, failure handling ...) and assign them to tasks.
>> >>
>> >>Need more input - on the "and assign" part.
>> >
>> > I was thinking something as simple as the following for logging.
>> >
>> > interface Task
>> > {
>> > void setTaskContext( TaskContext context );
>> > {
>> >
>> > class MyTask
>> > {
>> > TaskContext context;
>> >
>> > void setTaskContext( TaskContext context )
>> > {
>> > this.context = context;
>> > }
>> >
>> > Logger getLogger()
>> > {
>> > return context.getLogger();
>> > }
>>
>> [...]
>>
>> wouldn't setTaskContext and getLogger better by part of an abstract
>> Task (and why should Task be an interface)? But we are getting into
>> details here.
>IMO no.
>
Ai gree, the various methods that are called on Task should take a
context object to provide logging etc.
>>why should Task be an interface?
>Basically it is not necessary for task to be an abstract/conrete class.
>Because it can be
>implemented as an interface. Some situations require that a you use an
>abstract class or
>concrete class so if other things you wish to extend/implement are all
>interfaces it is cleaner
>otherwise you end up using adapters everywhere and it gets ugly.
>
As a complete aside, I really think Java should support "implements
Class".
d