After running version 1 of my ABuddy through a few test cycles, I figured there was enough potential to rework it into a more viable project. I already had several improvements I wanted to make, and as I started thinking about it seriously, came up with several more.
In the 1st version everything happened at once: the quotes were harvested, the analysis was made and the static report file was generated for that day. If anything failed along the way, the whole thing just horked.
Fixing all that was pretty much the motivation for reworking it into version 2. I wanted these key features:
Klepto: The sole responsibility of the klepto is to acquire the raw quote data.
Duke: The duke is the keeper of all the analyst recommendations.
Professor: The professor's job is to perform the needed analysis and report the final scores.
I probably could have made the Professor into two components rather than one, but I didn't want to be breeding rabbits. The analysis step is actually just a matter of collating all the gathered stuff into the report itself, so those two tasks fit nicely together.
So that's it. ;)
In the 1st version everything happened at once: the quotes were harvested, the analysis was made and the static report file was generated for that day. If anything failed along the way, the whole thing just horked.
Fixing all that was pretty much the motivation for reworking it into version 2. I wanted these key features:
- Tolerance of network issues.
- Separation of data and presentation.
- Self-maintained reference database of analyst recommendation scores.
- Flexible rule engine.
Klepto: The sole responsibility of the klepto is to acquire the raw quote data.
Duke: The duke is the keeper of all the analyst recommendations.
Professor: The professor's job is to perform the needed analysis and report the final scores.
I probably could have made the Professor into two components rather than one, but I didn't want to be breeding rabbits. The analysis step is actually just a matter of collating all the gathered stuff into the report itself, so those two tasks fit nicely together.
So that's it. ;)


Leave a comment