Rob Gonda's Blog

OOP Speech

Scripting, programming, and business in general are having a huge tendency toward object oriented programming and design patterns. Microsoft with .net, and SQL 2005, Macromedia with CFMX, and AS2.0… ICG should not stay behind due to that this is actually a great thing. Everyone in ICG should have a basic concept of what this means, know a couple of the jargon words, and understand at least in a very macro-vision why I’m pushing so hard for this.

OOP means to build everything in smaller pieces, with contained and explicit functionality with exactly what it needs to run and no more. This means that a project is always a combination of these smaller pieces to be combined into one massive application. These pieces have to be built in a fashion where they’re autonomous and completely disregard the environment. All the data and functionality is built in the object.

What this means? Perhaps a little more work. Yes, it will take longer to build than straight up procedural scripting, but it is worth in the long run. What this will do for us is to actually not have to rewrite code … sure you can cut and paste, adapt, merge pieces of your previous programs, but they don’t necessarily have to be compatible, it may not merge into what you have in mind precisely. OOP overcome that problem. You will not need to modify the object (unless you’re extending the functionality). The objects are being called by what is called a controller. This controller defined that this object does, and what does it interacts with. A new program really only need a new controller and new views, the objects will remain intact.

I am not referring to any specific language; this applies for .NET, ColdFusion, ActionScript, Java, or practically any programming language we could ever use at ICG.

If you’re not familiar with any of the following terms, look them up, ask around, or create a buzz in the office, for real, this is the future of scripting. OOP, MVC, Modularity, Inheritance, Encapsulation, Abstraction, Polymorphism, Reusability, Scalability, Encapsulation, Design Patters, Design by contract, UML, DAO, TO, Bean, Refactoring, Coupling, Cohesion, Data Hiding, Façade, Factory Method, Factory Object, Overload, Unit Testing… there are many more and I don’t expect you to fully understand all of them, but some are really important.

OOP mainly means reusability and scalability. These two terms for me mean robust, error-free, and time saving.

It is a completely different mentality, coding style, and I wouldn’t expect anyone to fully grasp it in a short period of time. At first it’s really hard to understand why bother, and why to go through all the extra work … it will end up saving you vast amount of time in the future. It is a structured way of organizing code, easy to document, easy to maintain, easy to share and work in a group environment.

We always have a tight deadline, time constrains, but we have learn, witnessed, and seen that if we do it the right wrong at the beginning we’ll have to end up redoing it… it will compensate to do it right!

TrackBacks
There are no trackbacks for this entry.

Trackback URL for this entry:
http://www.robgonda.com/blog/trackback.cfm?CA17BD1B-2B3E-FB41-5CAE45BD1C6DC7AC

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
This blog is running version 5.9.003. Contact Blog Owner