Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ANTI PATTERNS Swathi Varadharajan sxv143030 What is an anti pattern? A commonly used process, structure or pattern of action that despite initially appearing to be an appropriate and effective response to a problem, typically has more bad consequences than beneficial results A good alternative solution exists that is documented, repeatable and proven to be effective Why anti pattern? Anti pattern Pattern Causes of anti pattern Aggressive project deadlines General lack of concern Refusal to use patterns Poor decision making Failure to clearly understand the problem Types of anti patterns Organizational design patterns Project management anti patterns Software design anti pattern Object oriented anti pattern Organizational design pattern Analysis paralysis Over thinking of a situation and not taking any decision Solution: have deadlines, take a mental dry run… Design by committee Too many contributors with no unifying vision Solution: have a decision maker Vendor lock-in Making customer dependent on a particular vendor Solution: do not customize the application Project management anti patterns Death March Everyone knows that the project is going to be a disaster but keeps it alive till the day zero Hero Mode Relies on the heroism of a small number of capable individuals Give me estimates now Project management forces the individual to make immediate decisions Object oriented design patterns Anemic domain model The business logic is implemented outside the domain object Result of not using information expert Solution: Create and assign a responsibility to the information expert — the class that has the information necessary to fulfill the responsibility Circular dependency Relation between two are more modules which directly or indirectly depend on each other Results in Tight coupling -> unwanted global effects Solution: Follow Acyclic dependency principle -> dependency must be directed acyclic graph Software design anti patterns Software bloat Successive versions demand more and more resources , adding features just to release a version Solution: Add updates to the existing software when the requirements are less significant Pattern Fetish Excessive use of patterns Solution : meaningful use of patterns Big ball of mud (spaghetti code jungle) Lack of architecture Solution: Define and strictly adhere to an architecture from the inception THANK YOU…..