Anti-Pattern Name:
ULSAC Anti Pattern
Aliases:
Failed Façade Command Pattern Problem
Context
By trying to make a API method more generalized- you make it too generalized
Forces
- Trying to prevent code change
- Failing to program to interface, in the sense if the implemented class changes it should signal failures else where in the code base.
Solution
Create well defined methods (and names) that explain the exact nature of the method.
Consequences and Resulting Context
- The complexity of the call gets embedded with in a parameter.
- API can’t be readily understood.
- Functionally Overloaded method
- Hard to change.
- Difficult API to use.
What's Wrong with the Solution
Consider the following API which contains self describing methods that can be readily understood and used.
void getCustomerNumber(…);
void getCustomerAddress(…);
void getCustomerTelephone(…);
If a scenario arises in which a developer tries to prevent the API exposed to change by creating an overly generalized method
void getX(…., String actionDesc)
in which the actionDesc contains some sort of internal pseudo language which determines the correct data to return. i.e.
call getCustomerNumber(…) gets replaced with call getX(….,”CustomerNumber”);
call getCustomerNumber(…)+ call getCustomerAddress(…) gets replaced with call getX(….,”CustomerNumber,CustomerAddress”);
Lesson's Learned
Try not to make a single method be all things to everyone. Rely on programming to interface and contractible programming it allows.
Correct Patterns
Author(s):
John Wilson
Date:
01/01/2009
References
Keywords:
Example
ULSAC Anti Pattern
Aliases:
Failed Façade Command Pattern Problem
Context
By trying to make a API method more generalized- you make it too generalized
Forces
- Trying to prevent code change
- Failing to program to interface, in the sense if the implemented class changes it should signal failures else where in the code base.
Solution
Create well defined methods (and names) that explain the exact nature of the method.
Consequences and Resulting Context
- The complexity of the call gets embedded with in a parameter.
- API can’t be readily understood.
- Functionally Overloaded method
- Hard to change.
- Difficult API to use.
What's Wrong with the Solution
Consider the following API which contains self describing methods that can be readily understood and used.
void getCustomerNumber(…);
void getCustomerAddress(…);
void getCustomerTelephone(…);
If a scenario arises in which a developer tries to prevent the API exposed to change by creating an overly generalized method
void getX(…., String actionDesc)
in which the actionDesc contains some sort of internal pseudo language which determines the correct data to return. i.e.
call getCustomerNumber(…) gets replaced with call getX(….,”CustomerNumber”);
call getCustomerNumber(…)+ call getCustomerAddress(…) gets replaced with call getX(….,”CustomerNumber,CustomerAddress”);
Lesson's Learned
Try not to make a single method be all things to everyone. Rely on programming to interface and contractible programming it allows.
Correct Patterns
Author(s):
John Wilson
Date:
01/01/2009
References
Keywords:
Example
by JLW008 January 28, 2009
Get the ULSAC mug.A beautiful woman who is so pretty. She doesnt like to do dishes. She speaks for herself she is the queen.
by Cezins Friend, Ailsa's, Danni June 13, 2021
Get the ulisha mug.by pediballislufe April 20, 2020
Get the Dirty Ulises mug.she’s such a ulian
by eat my fat cock April 9, 2020
Get the ulian mug.an immigrant slut who showers naked...who the fak does that?!?!? this little thing will annoy u at any moment in the day. what an asshole!
ulianna,you are a cunt.
by CheapyTV November 24, 2016
Get the Ulianna mug.by Poon Hound August 29, 2003
Get the unisac mug.Ulises a guy who thinks he can get all the ladys. So , he takes advantage of that power and dates multiple ladys at the sametime and trys to get in there pants. He never has time to message any of the ladys because hes always with his friends playing basketball, playing video games, getting drunk or even getting high. Ulises is a waste of time.
Why did you waste tour time on a guy named Ulises?
Why does Ulises always make up excuses on why he didn't text you?
Why does Ulises always make up excuses on why he didn't text you?
by OhNoEm June 1, 2020
Get the Ulises mug.