Hey everyone. I will start off by saying that I am not sure if this should be in the Beginning
Java or Java in General Section.
I work on the network side of IT and have written a few tools and apps in my spare time to streamline some processes for my group. I am currently working on writing my first application again from the ground up. The current app is very cluttered, hard to read, and next to impossible to add intended/new features. My goal is to improve on what the current application does, as I have everything run on the EDT and never implemented a few features, and to expand on what it is capable of doing. I am trying to stick close to the MVC design this time. I've been reading Head First Design
Patterns which has helped as well, but there are some things relating to this app that I can't decide on and have little to no direction for.
If you could point me towards resources or materials that could help with these questions it would be greatly appreciated. A few of the questions/issues.
Is it good/necessary to have objects aware of it's parent objects?
IE: I have a Router class that has a list of available SubModules. Those SubModules contain information on their interfaces, IP addresses, encapsulation type, used ports, etc. This is all info necessary to build out configurations for the router, but currently they also have a reference to their parent device(s). In some campus networks they might have multiple "parent" devices for redundancy. Some of the variables used by this class are not shown.
Where is the line between a method that should be in a service class and a model class?
IE: Walking a list or tree to find/add/or remove an object from a tree/list and ensuring it's in the proper order and location.
What are useful and wasteful uses of Java Enums?
IE: I have a number of Enums, but most have the type and maybe a
string and/or int variable that you can get through it's getter.
With the variables: "model", "tooltip", "ehwicSlots", "serviceModuleSlots".
I could probably fill up a few pages with questions. But I think this is might even be too many for a
thread. Again, any direction for study material, books, links or suggestions that you can provide would be greatly appreciated.
Thank You,
-Jarrod