I am not the old school guy that do not like in new technologies, as well as in adopting new technologies /techniques /patterns – then I call it Patterns in this article – in software development. But sometimes people don’t realize what are the impacts on their projects, especially when they try to adopt it – because of its better performance promises – in to their running projects.
If we draw back from couple years ago up-till now, some samples of mind-set change caused by implementing new technologies, techniques or pattern we can see as below:
-OOP (mind-set change from Procedural programming model)
-Server Side Scripting (mind-set change from static to dynamic to web app)
-Web Class (mind-set change from plain server side script to compiled components)
-Multi Language Programming (mind-set change from single language programming)
-Compiled Web app (mind-set change from script interpreter process)
-WebForm adopting WinForm /desktop development model (mind-set change from embedded script in html to drag-drop desktop like web form designer)
-MVC with various implementation (mind-set change from code behind to controllable views)
-AJAX with various techniques (mind-set change from post back)
-XAML (mind-set change from designer generated code to xml extension)
-MVVM with various techniques (mind-set change from tight couple UI to separation of concern and easier to test UI)
-Multi Touch UI (mind-set change from single touch /press input)
-etc.
Adopting the Patterns that will causing mind-set change during running project took cost in various amount of time, but no doubt because it needs time to learn, do some researches, test in current project while still maintaining current Pattern that need to be replaced.
If you have managing projects running in more than 1 year, it is likely you will face new Patterns coming, as efficiency of the tools to solve known problems.
Some of Patterns do not have significant affect in mind-set change, therefore it doesn’t matter or at least have absorb-able cost because of its small impact in the project. Some of them for example:
-Enterprise Library (from using self made utilities and DataAccess layer)
-New All-in-one Library compiled (JQuery or other Toolkits from using scattered client side javascript files)
-LinQ (from implementing DB query base into middle layer)
-WCF (from implementing WebServices)
-SQL Azure (from using local SQL Server)
-etc.
Unless we have planned to adopt these Patterns in ‘start from scratch’ projects – which would be predictable in cost and time frame – since design phase, we have to be carefully and wise in decide new Patterns to adopt.
But thankful to these Patterns and all the ideas creator as we are moving fast to be more efficient in creating softwares.










