Welcome to the website of the PACITA Controller Framework!
The PACITA framework is a controller framework that is currently under development. I can not say when it will be finished, as I have no contractual obligations, I am developing this as a hobby. However, while I am developing the framework, I will add things one by one that can be used separately. Feel free to use whatever you find at my site or to contact me at firstname.lastname@example.org.
You may be wondering what a controller framework is?
I am a software developer and in software development there are some good practices. One of these practices is to keep different functionality in software separated. This way, if you change one part, you do not have to change another part. Keeping things separated makes it easier to maintain, modify and evolve your software. Software does evolve because users of software tend to be demanding and they always want more. To not suffer too much from the demands, it is smart not to restrict evolution, but to facilitate it. At the highest level, software can be divided in 3 parts: the Model, the View and the Controller. The Model is the part that handles all the calculations and manages the storage of data. The View is the user interface with which users interact. The Controller is the software that links the View with the Model.
A typical usage scenario is the following: a user is interacting with a certain electronic device. His senses perceive a visual, auditory or other signal from the View and this triggers a reaction. The View captures the reaction, which may be a finger pressing, a sound being made, some text being typed or something else and translates this to some data that can be easily understood by the computer. This data is sent to the Controller, which interprets it and decides which functionality has to be activated to process the data. The Controller sends the data to the right functionality and captures the result of the processing. The functionality that processes the data is the Model of the application. Once the Controller has the result of the processing, it sends it back to the View. The View interprets the data it receives from the Controller and converts it in form that is appropriate to send to the user. The user receives this formatted information and the cycle of feedback and response starts all over again.
The explanation above is illustrated by the following image:
I am developing a Controller framework in Java. This framework should be simple and powerful. The framework must be easy to use for people who create user interfaces (like webpages) and for people who write functionality (as I am doing for a living). To emphasize the goals of the framework, I came up with the name PACITA, which is an acronym for:
You may be wondering how this site could be useful to you?
If I ever achieve my goal of completing the PACITA framework and you are somehow involved in the development of software, you can use my free software!
In the meanwhile, I am documenting all the steps I am taking to achieve this goal. My experience as a software engineer is that management sees documentation to be optionally made after code has been written and because it costs effort to make it, documentation is never properly written. Another experience I have as a software developer is that code is never properly written because proper documentation is missing. Documentation brings clarity and the more difficult it is to write good documentation, the more the clarity is missing and the more the documentation is needed in the first place. It is good to document to define what needs to happen. This is what I will be doing at every level of development. You can see books I have written and my Subversion repository. (Click the links to find out more.)