Book Image

Learning Modular Java Programming

By : Tejaswini Mandar Jog
Book Image

Learning Modular Java Programming

By: Tejaswini Mandar Jog

Overview of this book

Modular programming means dividing an application into small parts and then developing it. It is an approach taken by developers to build applications and helps them add efficiency in their development process, thus making it more effective. The book starts with the fundamentals of Modular Programming. Then we move on to the actual implementation, where we teach developers how to divide an application into different modules or layers (such as presentation, execution, security, lifecycle, services, and so on) for better management. Once readers are well-versed in these modules and their development, the book shows how to create bindings in order to join these different modules and form a complete application. Next, the readers will learn how to manage these modules through dependency injection. Later, we move on to testing; readers will learn how to test the different modules of an application. The book ends by teaching readers how to maintain different versions of their application and how to modify it. By the end of the book, readers will have a good understanding of modular programming and will be able to use it to build applications with Java.
Table of Contents (15 chapters)

Sharing the work


An enterprise application is always a team effort. It is an application where different teams of designers, developers, and testers work on their respective specialized areas. What is the guarantee that the teams are working from the same facility? No, it's not guaranteed. There is a possibility that they are working from different locations. Now, what is the chance of one team being spread over different locations and they are operating from their locations? This is also quite possible. No, we are not saying that different facilities are our problem. Not really. Our problem is different. Our problem is about the work they have completed. How will others get it? How will they pass on the files created by them or changed by them to other members of their team or to members of other teams? Right, we need to do this manually.

A share folder is a solution only in the case of a local network; for remote, it will not be feasible. If there are a couple of files, we will not face any difficulty but what if there are a number of files? One possible solution can be zipping all the files on which they have worked and mailing it to their teammates. OK, I sent five files. What will other team members do now? They will copy and paste these files in their source code and start using them. We got the solution of exchanging the files. Really??? Do you really think so? As we have seen the scenario only about one member who sent the file and others received, it's true about the reverse case. Others will also send us one or many file similarly. Does each one of us have to copy and paste these files? We are in trouble as we need to share a file to all the team members and we will be getting it from others. So our first problem is how to share files with team members.