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

See Talk: Facade#Requested move

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