Lecture 2 :Tuesday, 21 february 2006
Group Dynamics
Most of the day , we did presentations of the group research work we were tasked to do the previous week. My group presentated on the Patterns Vs Packages in all angles, .i.e. definations, advantages, disadvantages, common uses, similarities and major differences of the two. At the time we started researching on packages, we had greatly researched on Software packages instead of packages in general and had to start all over again. within the group we divided 3 people to research on packages and the other three to research on Patterns. I researched on patterns and the following were my findings:
Design Patterns refer to the concept of being able to use the design
solution to a recuring
problem in a given
context. we encounter many problems that have occurred and will occur again, and in such an instance Design Patterns will come in handy.
The advantages of using design patterns are;
- Design patterns capture design expertise and allow that expertse to be communicated , e.g novice programmer
- Because design patterns promote design reuse, their is improved quality as a result of thorough testing , hence no mistakes
- improves documentation and understandability
- it reduces maintenance costs
- it acts as a template
- Design Patterns are extensible , i.e. you can modify it to meet your needs[3][1].
With Design patterns, they are neither code, nor designs, as they must be instatiated and applied. the engineer sholud have an understanding of the imapct of using the design pattern, decision making on on how best to apply the design pattern and lastly implement the design pattern into the code of any suitable object oriented language.
Later on in the day, after all the group presentations, we were told to write a paper on our personnal experience with design patterns, whether we thought it will be useful for software development.
My answer to that question was yes, i thought the design patterns were useful based on the advantages i have listed above. In addition to the listed advantages above , design patterns promote discussion among programmers about known design patterns, that results in more collaboration, knowledge and wisdom combination. Because of this, they facilitate less arguments among developers over different solutions to a problem but focus on thinking of the same solution in different ways.[2]
with that personal view on design patterns, we called it a day.
References;
[1]Mark Grand, 2002, Patterns in Java, vol 1, second edition, a catalogue of reusable design patterns illustrated with UML
[2]Gamma, E., Helm, R., Johnson R., & Vlissides, J. (1995) Design Patterns: elements of reusable software, Addison Wesley, ("Gang of Four Book (GoF)") pg 2
[3]Design Patterns:
http://www.cs.puedue.edu/homes/jv/510s05/patterns.pdf
(Accessed:17/02/06)