|
Design-Time |
| Home.About Strandz.Design-Time |
|
|
|
|
Designer A Designer tool has been created to help the developer with the time consuming task of binding the user interface to the database:
The Designer allows the developer to create and maintain a SdzBag, which when saved is persisted as an XML file. Thus the application Wombat Rescue has a jar file called Writing code the MVC way is not without its problems. Consider the case where a postcode DO field has been added to an Address, and thus an item needs to be added to all the screens with addresses.
First of all consider an alternative non-Strandz, non-MVC way. In this alternative case let's assume your DO fields know how to display themselves. Here adding a new DO field would have quite straightforward view repercussions: the DO would have the ability to display a
These problems are actually exasserbated when you are using a Designer with an MVC framework such as Strandz. In our example case the The Designer was used to create Wombat Rescue, the process of which involved many view item and DO field changes, even table/DO name changes. While the Update method of auto-discovery worked well for view synchronization, it had one significant problem: it was possible for the developer to not remember to press Update after making view class alterations, with the result that the changes were invisible to the Designer, and the developer later became confused, not understanding why bindings viewed within the Designer were to older versions of screens. Rather than just having a Designer, our future approach involves a service constantly running on the developer's desktop machine. The idea is that this service would periodically check whether both DO and view class files have become younger. (The Designer already persists nearly enough information to be able to do this). When an interesting change has been detected the idea is that the affected SdzBeans would be found and the necessary action taken, which would generally be to give the user a report and bring up the Designer proper if necessary. We can now look at a few cases and see how they might play out with our hypothetical constantly running service:
Thus when Strandz is combined with its design-time tools MVC can be made to work in a reasonable fashion. The constantly running service would seem to be required functionality for offering Strandz to 'corporate' developers. |