Talk:Facade pattern
From Wikipedia, the free encyclopedia
This site needs tons of work. If anyone knows what a facade pattern is, then please, fix this page! All I could do was reorganize some of the information, but it requires clarity and an author who knows what a facade pattern reallly is. (I really don't.) Narcissus 00:24, 5 Oct 2003 (UTC)
This pattern is a very simple one. I guess it becomes clear as there's an example now. Lathspell 00:35, 17 February 2006 (UTC)
The idea of a Facade is to provide a simplified interface over more complex objects/API. The example here is not that but rather an application that uses a complex object/API. DamienG 13:12, 3 August 2006 (UTC)
Contents |
[edit] Bad example?
I don't think the example in the article is a good example of the Facade pattern. As I understand the pattern, it is very useful when you have lots of different parts of a subsystem and complicated dependencies between clients of the subsystem and the facilities this subsystem offers. The example is just provi{| class="wikitable" |- ! header 1 ! header 2 ! header 3 |- | row 1, cell 1 | row 1, cell 2 | row 1, cell 3 |- | row 2, cell 1 | row 2, cell 2 | row 2, cell 3 |}ding some utility functions that make GregorianCalendar easier to use, that is far from what I would call a Facade. --Eduardo Habkost 21:40, 14 December 2006 (UTC)
- I agree with you. How about this? ja:Facade パターン#利用例 --Trashtoy 06:51, 2 March 2007 (UTC)
-
- Good. The DrivingSimulator example on ja:Facade パターン#利用例 looks much better than the GregorianCalendar example we have here. --Eduardo Habkost 01:02, 22 March 2007 (UTC)
[edit] Anti-Facade pattern?
Does anyone know if there's a usual name for the inverse of the facade pattern? For example, if I have access to a monolithic library through a small interface but I want to make its internal state look like several interacting objects. Is there a word for that? —Ben FrantzDale 05:48, 13 April 2007 (UTC)
Yes - check out the Facet pattern: http://c2.com/cgi-bin/wiki?FacetPattern —Preceding unsigned comment added by 80.6.91.225 (talk) 11:29, 20 February 2008 (UTC)
[edit] Arrows
Shouldn't the arrows in the figre be TOWARD the left-hand side packages rather than FROM them ? The facade class uses (hence depends on) these classes, not the other way around.
- I think you are right. Requesting new (fixed) diagram. —Ben FrantzDale 19:10, 17 April 2007 (UTC)
- In terms of UML the diagram is correct. The left hand packages are included into the facade, therefore the arrows go towards the facade. It's probably better explained the UML/class diagram page 85.180.64.104 19:23, 3 August 2007 (UTC)
-
-
- I don't think the arrows in the diagram are correct. In UML, the dashed line represents a dependency and the arrowhead should indicate the direction of the dependency. As it stands now, the diagram reads "Package1 includes Facade".--69.255.144.218 05:52, 8 November 2007 (UTC)
-
[edit] class FacadePattern
The class is FacadePattern not FaçadePattern. A Google of the terms returns:
- 44,400 English pages for -Façade-pattern Facade-pattern -wikipedia
- 16,200 English pages for Façade-pattern -Facade-pattern -wikipedia
The page was moved with no explanation from "facade pattern" to "façade pattern" at 15:10, 12 July 2006 by user:Andylucianowith no explanation for the move. Common usage (WP:NC) suggests that this page is at Facade pattern. So I am moving it back --Philip Baird Shearer 12:08, 25 October 2007 (UTC)
[edit] Object Oriented ?
I think the first line should says that facade is a design pattern but not an "object oriented" design pattern.
Although the name itself may be related to the object-oriented paradigm the idea was used extensively well before object-oriented principles were formulated. (Perhaps another example of object orientation usurping pre-existing ideas.)
203.110.131.5 01:31, 26 October 2007 (UTC)
[edit] glue layer
If there is not just one facade simplifying a set of api's, but several facades that simplify several sets of api's, the trem "glue layer" is common. I think this articel would be a good place to introduce and link to this term