« Return to Thread: Code layout
There have been a number of utility like and pattern like implementations going into forge/labs. I have been thinking about how best to organize these things. Here's my thinking to date, I'm open to suggestions or just voting for one of the options below._______________________________________________
At the moment I know of:
So, I am not sure, I can argue a few different layouts:
- ResourceManager - a pair of classes that level a shared resource across a cluster (relies on JMX util)
- Pipes/Channels - refactoring of the pipe/channel idea in m/w
- Master/Worker - work load balancer
- JMX Util - JMX event util classes
- Annotations - annotations
- SplitHashMap - rough equivalent of concurrenthashmap
- TimeSeriesMap - to expire items in a map based on time entries
1) All in one package. On the one extreme, this makes using any TC based util class (or pattern) really easy. Until there is too much in one package, this what I prefer, except it tends to have version creep that doesn't correspond to relevant features - in other words a developer uses it only for JMX, but the version bumps because of a fix for annotations
2) A Balanced set of packages. I would propose
- tc-util - contains pipe/channel, resourcemanager, jmxutil, splithashmap, timeseriesmap
- annotations - annotations only
- master/woker - m/w only, but needs tc-util for both pipe/channel and jmx
3) Lots of little packages - basically everything in its own package. This is my least favorite option.
Thoughts?
tc-dev mailing list
tc-dev@...
http://lists.terracotta.org/mailman/listinfo/tc-dev
« Return to Thread: Code layout
| Free Forum Powered by Nabble | Forum Help |