«Կամուրջ (նախագծման ձևանմուշ)»–ի խմբագրումների տարբերություն

Content deleted Content added
Տող 35.
 
[[Պատկեր:Bridge pattern in LePUS3.1.gif|thumb|none|400px|Կամուրջը [[Lepus3|LePUS3-ում]] ([http://lepus.org.uk/ref/legend/legend.xml legend]) ]]
 
== Օրինակներ ==
=== C# ===
Կամուրջ ձևանմուշը օբյեկտը ստեղծում է ծառատիպ կառուցվածքով: Այն առանձնացնում է աբստրակցիան և իրականացումը: Այստեղ աբստրակցիան իրենից ներկայացնում է հայցողին որտեղից պետք է կանչվեն օբյեկտները: C # լեզվով օրինակը կարելի է տեսնել ստորև.
 
<source lang="csharp">
//IVSR: Bridge pattern example
# region The Implementation
 
// Helps in providing truly decoupled architecture
public interface IBridge
{
void Function1();
void Function2();
}
 
public class Bridge1 : IBridge
{
 
#region IBridge Members
 
public void Function1()
{
throw new NotImplementedException();
}
 
public void Function2()
{
throw new NotImplementedException();
}
 
#endregion
}
 
public class Bridge2 : IBridge
{
#region IBridge Members
 
public void Function1()
{
throw new NotImplementedException();
}
 
public void Function2()
{
throw new NotImplementedException();
}
 
#endregion
}
# endregion
 
# region Abstraction
public interface IAbstractBridge
{
void CallMethod1();
void CallMethod2();
}
 
public class AbstractBridge : IAbstractBridge
{
public IBridge bridge;
 
public AbstractBridge(IBridge bridge)
{
this.bridge = bridge;
}
#region IAbstractBridge Members
 
public void CallMethod1()
{
this.bridge.Function1();
}
 
public void CallMethod2()
{
this.bridge.Function2();
}
 
#endregion
}
# endregion
</source>
Ինչպես դուք կարող եք տեսնել Կամուրջի դասերը իրականացումներ են, որոնք օգտագործում են կողմնորոշված ճարտարապետությամբ միևնույն ինտերֆեյսը օբյեկտներ ստեղծելու համար: Մյուս կողմից աբստրակցիան իր օբյեկտը ստանում է իրականացման փուլում` մեթոդի աշխատանքի ժամանակ: Այսպեսով իրականցումն ու աբստրակցիան միմյանցից անկախ են:
 
== Ծանոթագրություններ ==