„Illesztő programtervezési minta” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
újabb szakasz
3. sor:
 
==Definíció ==
{{leford}}
Az illesztő segíti két nem kompatibilis interfész együttműködését. Ez az illesztő valós életbeli definíciója. Az illesztő tervezési mintát akkor használjuk, amikor két különböző osztály nem kompatibilis interfészét szeretnénk együttműködésre bírni. Az elnevezés pusztán ennyit jelent. Az interfészek lehetnek nem kompatibilisek, de a belső funkcionalitás illeszkedik az igényekhez. Az illesztő minta lehetővé teszi a másként nem kompatibilis osztályok együttműködését azáltal, hogy konvertálja az egyik osztály interfészét a kliens által elvárt másik interfészébe.
 
10 ⟶ 9 sor:
 
===Objektum illesztő minta===
Ebben a típusú illesztő mintában az illesztő tartalmazza annak az osztálynak egy példányát, amelyet becsomagol. Ebben a helyzetben az illesztő hívásokat indít a becsomagolt példány [[objektum]] felé.
In this type of adapter pattern, the adapter contains an instance of the class it wraps. In this situation, the adapter makes calls to the instance of the wrapped [[object (computing)|object]].
[[File:ObjectAdapter.png|thumb|300px|center|TheAz objectobjektum adapterillesztő pattern expressed inminta [[Unified Modeling Language|UML]]-ben. TheAz adapterillesztő ''hideselrejti'' theaz adaptee'sillesztett interfaceinterfészét froma thekliens clientelöl.]]
[[File:Adapter(Object) pattern in LePUS3.png|thumb|500px|center|TheAz objectobjektum adapterillesztő pattern expressed inminta [[Lepus3|LePUS3]]-ban.]]
 
===Osztály illesztő minta===
{{leford}}
This type of adapter uses multiple [[subtype polymorphism|polymorphic interfaces]] to achieve its goal. The adapter is created by implementing or inheriting both the interface that is expected and the interface that is pre-existing. It is typical for the expected interface to be created as a pure [[Interface (Java)|interface]] class, especially in [[programming language|languages]] such as [[Java (programming language)|Java]] that do not support [[multiple inheritance]].<ref name=HeadFirst>{{cite journal
| last1 = Freeman