Wednesday, 14 February 2007

14 Feb 2007 Five FAQs about Software Patterns

Still at this point there might be few doubts about Patterns and Software Patterns, so I wrote few Frequently Asked Questions to help you understand it better.

Q1 How to differentiate between pattern and what seem like pattern?

Patterns are tried and tested theories, they are not solution that has worked once or is applicable to every context.
Business objects, Frameworks, templates, algorithms and libraries are not patterns.

Q2 What are Software patterns and where this concept is adapted from?

Software Patterns are software solution to an engineering problem in particular context.
The concept of software pattern is adapted from construction engineering.

Q3 What are the benefits of patterns in software engineering?

Patterns helps to improve software quality, reduced engineering time, provide reusability and pass the knowledge from expert to beginners in better understandable form.


Q4 What about the creativity and different approaches of a developer?

Imposing rigid design rules is not the objective of design patterns. Instead, the intent is to ensure that initial designs are made effectively so that it can be reused, easily maintained and easy to understand. Also recurring problems can be solved using design patterns.

Q5. What are anti-patterns?
Anti-patterns are bad solutions to a problem applied in wrong context. They can be used to aviod design problems in first place and to come out of a problem if one find himself in such case.

Thank you for reading and please comment

6 comments:

Abbas said...

In your answer to question 3 you have said, pattern increase the quality of a software and reduce time at the same time....isnt it like, when you reduce development time the quality goes down?

Rizwan Khan said...

Fair point, What i meant to say is that when you'll be using pattern made by professionals which has backing of group research will definitely be good in quality and instead of writing code from scratch and using pattern source code as a template will save you time and effort of rewriting to improve its quality.
I hope it make more sense now.
Cheers

Abbas said...

very valid point
Thanks

John Ssebaale said...

Hi, thanks for the FAQs, with Question 1, have come to think of it that most things start as theory. Am just wondering when does a pattern stop being a theory and graduates into a pattern?
Cheers

Anonymous said...

Sir!

Thanks indeed for the information.

I believe this information will be easy for a beginner to understand the patterns in general.

Much obliged.

Asmat Ali said...

Hmm! Your blog shows that you have strong basic concepts of patterns.