ADIGA88,
I will respond to your follow up on my post, assuming you would like to read it.
First, I didn't say anything about the 2 concepts you mentioned before, which were dependency injection and inversion of control. I don't use terms like this very often, but according to what I read
here and
here, both concepts are relevant to an access database, however the only reason is because they are both professional concept that are related to literally any software system.
First, regarding dependency injection, this is a universal concept in almost all large software system. Literally everything has a dependency. And, for people still learning what OOP is all about, you can really say in a generic sense that ""dependency"" is pretty much the same thing as ""inheritence"". Although, if you talked to a professional developer, they will swear that the two ideas are totally different. and yes, that is true, but in common sense terms and for the purpose of learning, relating the two is just fine to get a handle on the type of thinking that is needed here.
Secondly, regarding inversion of control.....according to what I read, it said this:
in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code.
now, that statement does mean something, however to some degree it is useless because all software programs use libraries to pull data resources and use them in a software program. the concept of a framework being used as the software executional driver is really no different than the use of libraries, other than the fact that a framework is a very well architected layout, written by professionals, strictly for the purpose (in my opinion) of making things easier for developers to pull resources and get what they need to produce the required products.
now, regarding what you have asked in your latest post....I will quote your words and comment on each quote from you:
Thing is when I reading a book on OOP I have been showerd with concepts and words, that the writer expect me to know. So I tell my self there must be another
The reason you are being showered with words, more than likely, is because whoever wrote that book is so smart, they're missing a critical piece of how to teach =>
relating to a human. professional words mean nothing to a beginner. all it does is bring a bunch of confusion.
And advance books that expect you to know everything about programming and tell you it’s time to learn OOP now.
well, this completely depends on
what you will be doing. are you the programmer in this project? have you ever written code before? are you trained in it? If the answer to any of those questions is no, then you probably would do yourself a world of good by hiring a professional developer, simply because the advanced concepts of designing involve things like
polymorph, abstraction, encapsulation, recursion, etc, etc.... And I can tell you that from a professional business person's mindset that is exactly like the way CEOs think, they have an obsession with patternizing everything for the purpose of making things run as smoothly as possible. The concepts of programming I've just referred to are heavily used in software design, however it does not mean that these are necessary in order to write even a semi-large scale application that runs just fine. The adoption of these is simply a matter of being ""professional"". There are other reasons too though, like the obsession of the world with efficiency, nonsensical worrying about energy usage, etc, etc...
I am looking for, if there a sequential list of book/blogs/articles that can build those concepts one at a time, and I guess there isn’t.
YES THERE IS. google can be used for this purpose, and the search is very easy. If you need to do it one a time, then runs those searches one at a time.
Regarding the goal of my efforts or what the desire outcome to it, its facts layout as follow:
• First it is a construction company
• The app intended to track if expenses for VAT and billing purposes
• There different types of expenses captured in vendor invoices and petty cash (invoices), working hour (timesheets).
• Tracking project progress for billing also
• I am using access 365
• The system will be distributed in LAN for time being
• The data come from two sources employee’s entry and imports from an ERP NAV 2018.
• The data types are defined and may add some attributes for advance tracking.
All of these points can be easily mapped to a table layout that is fairly easy to set up. As so many people around here say, reading about the concept of ""data normalization"" will help you out greatly. However, it doesn't mean that it solves all problems. Regarding the use of Access 365, that is irrelevant. However, I believe you can store Access files in the cloud when purchasing 365 subscriptions. The fact that you want the application to sit on a LAN doesn't mean much either, other than the fact that you would have to take into consideration any protocols associated with the LAN set up by your networking professionals. I can't really say much about that, but I would have doubt that if you're not careful, you can run into unexpected issues that you won't know about until you encounter them.
Regarding importing data from an ERP NAV 2018 system, the biggest issue with that more than likely will be how consistent the data is between that ERP and Access. In 20 years of doing this work, I can tell you that I've seen a countless number of times where someone complained about an import procedure because the source program treated data ""this way"" or it was in ""this format"", and when it came into access it was ""that way"" or the formatting is different. This is inevitable and there's no way around it. Strictly due to the nature of proprietary information and trade secrets related to how system are written, this frustration is something you will encounter almost daily regardless of what you're working with.
I think I can implement the app using procedure programming but I know there is will alot of change,
as I have said above, you can do almost anything with procedural processes, if you do not understand the concept of OOP. The only issue with it is that it will become extremely complex, hard to maintain/document, take a long long time to make updates and re-document, etc, etc.... One of the wonderful advantages of the OOP style of work is that it is very easy to document so the programmers who follow in the footsteps of the original writer can make it easy on themselves in terms of writing updates, changing things, etc.....
Does all of this help, at least a little bit? Hopefully you can make use of it.