Over the last couple of days I have run into a problem that I haven’t experienced for several years. Normally when I need to develop a new system/module I can normally conceptualise the core classes and basic structure that think I am going to require. The next step is to spec out specifically what I need on paper but because I already have an idea of what I need at that point it is more a case of testing the design and looking for potential errors.
Please don’t think that I am trying to say I get it right first time, like everyone else I don’t but even so it is the same process, as in I can conceptualise what I want.
I’m happy with the database structure for Dlayer but am having problem thinking about the classes I am going to need, I know the basics obviously but as I started to code I couldn’t ‘get it’. I’ve therefore opted to go back to simple procedural coding to complete phase 1 and 2 and then refactor/rewrite the code once I get an idea of the real requirements.
Over the last year I have written several snippets that I have used to prove that the concept that is Dlayer will work, now though the official development begins.
The requirements for the first two phases have been set but there won’t be anything ‘visual’ to see untill at least the third phase, although there won’t be too much to show I will post if I discover a nice way of solving a problem related to Dlayer development.
As I develop Dlayer I will continue to rebuild my framework (on a need basis), once I have enough redeveloped classes in a section I will start to replace the current code shown in the documentation section of my site.
At work I am using the YII framework to create a database driven widget system, as I was creating a layout manager today I had a feeling of deja vu. It wasn’t until I was almost home that I worked out, without realising I was creating a simplistic version of the widget system I developed on paper for my framework almost two years ago.
Oh well, at least this way I get to see if it works under load before I commit it to my own framework.