Wednesday 18 April 2007

Anti-Patterns

BLOG 12

Anti-Patterns

Coincidentally, this topic happens to be task 4 of our coursework, so I won't elaborate more on it on my blogg.In the event the patterns are not applied correctly due to negligence on the part of the developer then the pattern becomes an anti-pattern hence defeating the pattern intended role by it creator. In this light, the pattern will be seen as anti-patterns, anti-patterns are seen as negative solutions that present more problems than they address.Anti-Patterns begin with a compelling, problematic solution.

Once an Anti-Pattern has been correctly identified, its refactored solution can be used to obtain a better convergence of the underlying forces to lead you to a better understanding of the problem and an effective method of resolving the problematic solution. [SWE98]

Anti-patterns can be viewed in three ways according to W.H Brown et al; development anti patterns which comprise technical problems and solutions that are encountered by programmers, architectural anti-patterns which identifies and resolves common problems in how systems are structured and managerial anti-patterns which addresses common problems in software processes and development organizations.In summarizing; Anti-Patterns are used to quickly move from negative situations to positive solutions.

Anti-Patterns are useful for refactoring and reengineering in the computing world.

[SWE98] Anti-Patterns Refactoring Software, Architectures, and Projects in Crisis SWEE ‘98 Hays W. McCormick Lead Engineer, (http://www.antipatterns.com/briefing/sld006.htm ) slide 6

4 comments:

Imtiaz said...

well described, Anti pattern is pretty interesting but complex concept. But up an extend I do agree with you as it helps us to investigate problems further and work towards a robust solution.

cheers

Imtiaz

Neo Milupi said...

Good peace of work!

You are right… anti-patterns clarifies the negativity of patterns. But despite of "the negligence of the developer" as you mentioned…it is good to remember that all patterns have consequences; there are situations when a pattern is a good solution to a problem and other situations when it becomes an anti-pattern. It is importance of such consequences in order to make an informed decision inclusive of side effects.

richie rich said...

Nice one

Good explanisation on a very controversial topic but i am a support of anti-patterns because the developer is not the only cause of the pattern becoming an anti-pattern. Not all patterns work as they suppose even if you have the knowlegde of application, but as you said what anti-patterns does it highlight the negative aspects of patterns and provide a positive solution.

bless

SunnyPAFSD said...

Hi.

You have well described the anti-pattern. Anti-pattern does identify the bad solutions which can be identified.

I don't think it is a complex concept, i think it is straighforward but there is a lot of work into identifying those thousands of patterns being used and critically judge their suitability.

Keep it up.