2.11. Simultaneous Construction of Multiple Packages
The underlying precept of PL/Vision is to identify distinct areas of functionality needed for PL/SQL development (such as error logging, exception handling, dynamic SQL, etc.) and then map those areas of functionality into separate packages. In this approach, every feature, every requirement, has its place in one or another package.
The first thing I noticed as I embarked on my development effort was that I never got it right the first time. My basic idea for the package would usually be correct, but I would either not anticipate a particular need properly or I would frame the need too narrowly. As a result, I would find myself returning again and again to code that I had earlier considered finished. And the motivation for that upgrade would be to make the program more usable and reusable.
I soon discovered that I would rarely work with just one package at a time. Instead, I would enhance multiple packages simultaneously. This approach minimized redundancy and enhanced the base of reusable code. I step through an example scenario below to make this process more concrete.
Suppose that I am building an order entry system. I have previously constructed some generic packages to do string parsing and to perform analysis for on-time shipping. I decide in advance that I will have a separate package for all of my application's constants, and one package for each of my tables (orders, line items, etc.). I begin to construct my application. ...