| Article: |
Seven Low-Cost Ways to Improve Legacy Code | |
| Subject: | Replace Listeners with Weak Listeners | |
| Date: | 2004-05-06 01:16:20 | |
| From: | ipreuss | |
|
This one can also easily introduce bugs. Consider the following common idiom:
|
||
Showing messages 1 through 2 of 2.
-
Replace Listeners with Weak Listeners
2004-05-07 15:09:21 Robert Simmons, Jr. |
[View]
-
Replace Listeners with Weak Listeners
2004-05-11 08:48:20 ipreuss [View]
Refactoring them to inner classes might be a good idea (though I am not as sensitive to small anonymous inner classes). Nevertheless
- it's unlikely that given some huge legacy code, it's often unrealistic to do this in one swoop, and
- if you don't hold a reference to the instance, named inner classe will provide you with the same kind of problem.
I also don't think that not holding direct references to objects you create isn't always iffy at all. To the contrary: if the object you listen to has a shorter lifetime than the object creating the listener, it's the most elegant solution to make sure that the listener is destroyed as soon as it isn't needed any longer. - it's unlikely that given some huge legacy code, it's often unrealistic to do this in one swoop, and



Second of all, creating objects that you have no direct reference to is an iffy thing at best. This type of code is very prone to memory leaks.