I'm working in a project that I will need to give maintenance, but I did not undertand the ideia of the packages organization.
The project is organized in packages like this:
- View's (Just AWT/Swing GUI components).
It is based in MVC pattern.. for all case that we have.. there are these packages... an example:
The case to add a new user, there are:
ViewAddNewUser (View package)
AddNewUserForm (Form package)
PrintNewUser (Action Package)
Until this part I can understand, my problem is there are some others packages like Decorator, DAO, TO, BO.. this project works with Hibernate(Anottations). I did not understand how the classes add a new user and how to retrieve the data from database.
I know that my information about the project is very generic but.. maybe someone worked in a similar project and can give me an explanation about the interaction of this packages and classes...
Thanks in advance friends,
I know you will not get much from my reply, and I suspect others (me included if I get some more time) will help you with the terminology (still, you can find a reasonable definition of all of the tech terms you mention on, e.g., Wikipedia).
But first I feel compelled to warn you that you should ask someone in your project's team to guide you through the organization of code and features, rather than asking anonymous souls for help on an Internet forum.
Recently we got a beginner in our team. He was used to university work, sequences of lone research, resourcefulness, and evaluation. He was guided by someone in the team but after his welcome period started working on his own, and was reluctant to ask questions because he thought he would be looked down as incompetent if he did.
Indeed, it's exactly the contrary: I had to spend a couple of hours discussing with him, convincing him that it was in his best interest to ask questions to his fellow team members, and that it would be even regarded as suspicious if he was not asking question. He did a better job after he accepted to openly ask for help when he was in trouble.
Any program that you may intervene onto nowadays is not trivial, otherwise noone would be paying you for that; so it is obvious that you won't guess everything ritght by yourself, and people in your team, including management that evaluates you, will certainly not expect you to get by doing everything without being advised, guided, and even mentored, by your team fellows.
Indeed not asking for help, and remaining stuck, or worse walking towards dead ends, is utterly unprofesional.
Ironically, it takes experience to acknowledge that, so it's a common beginner mistake :o)
Good luck with your new job anyway.