payamvha/North_RAG huggingface dataset:
double radius, final DrawingAPI drawingAPI) { super(drawingAPI); this.x = x; this.y = y; this.radius = radius; // low-level i.e. Implementation specific public void draw() { drawingAPI.drawCircle(x, y, radius); // high-level i.e. Abstraction specific public void resizeByPercentage(final double pct) { radius *= (1.0 + pct/100.0); /** "Client" */ class BridgePattern { public static void main(final String[] args) { Shape[] shapes = new Shape[] { new CircleShape(1, 2, 3, new DrawingAPI1()), new CircleShape(5,
2, 3, new DrawingAPI1()), new CircleShape(5, 7, 11, new DrawingAPI2()) for (Shape shape : shapes) { shape.resizeByPercentage(2.5); shape.draw(); خروجی آن: API1.circle at 1.000000:2.000000 radius 3.075000 API2.circle at 5.000000:7.000000 radius 11.275000 PHP. interface DrawingAPI { function drawCircle($x, $y, $radius); class DrawingAPI1 implements DrawingAPI { public function drawCircle($x, $y, $radius) { echo "API1.circle at $x:$y radius $radius.\n"; class DrawingAPI2 implements DrawingAPI { public
class DrawingAPI2 implements DrawingAPI { public function drawCircle($x, $y, $radius) { echo "API2.circle at $x:$y radius $radius.\n"; abstract class Shape { protected $drawingAPI; public abstract function draw(); public abstract function resizeByPercentage($pct); protected function __construct(DrawingAPI $drawingAPI) { $this-&gt;drawingAPI = $drawingAPI; class CircleShape extends Shape { private $x; private $y; private $radius; public function __construct($x, $y, $radius, DrawingAPI $drawingAPI) {
$y, $radius, DrawingAPI $drawingAPI) { parent::__construct($drawingAPI); $this-&gt;x = $x; $this-&gt;y = $y; $this-&gt;radius = $radius; public function draw() { $this-&gt;drawingAPI-&gt;drawCircle($this-&gt;x, $this-&gt;y, $this-&gt;radius); public function resizeByPercentage($pct) { $this-&gt;radius *= $pct; class Tester { public static function main() { $shapes = array( new CircleShape(1, 3, 7, new DrawingAPI1()), new CircleShape(5, 7, 11, new DrawingAPI2()), foreach ($shapes as $shape) {
new DrawingAPI2()), foreach ($shapes as $shape) { $shape-&gt;resizeByPercentage(2.5); $shape-&gt;draw(); Tester::main(); خروجی: API1.circle at 1:3 radius 17.5 API2.circle at 5:7 radius 27.5 Scala. trait DrawingAPI { def drawCircle(x: Double, y: Double, radius: Double) class DrawingAPI1 extends DrawingAPI { def drawCircle(x: Double, y: Double, radius: Double) = println(s"API #1 $x $y $radius") class DrawingAPI2 extends DrawingAPI { def drawCircle(x: Double, y: Double, radius: Double) = println(s"API #2 $x
y: Double, radius: Double) = println(s"API #2 $x $y $radius") abstract class Shape(drawingAPI: DrawingAPI) { def draw() def resizePercentage(pct: Double) class CircleShape(x: Double, y: Double, var radius: Double, drawingAPI: DrawingAPI) extends Shape(drawingAPI: DrawingAPI) { def draw() = drawingAPI.drawCircle(x, y, radius) object BridgePattern { def main(args: Array[String]) { Seq ( new CircleShape(1, 3, 5, new DrawingAPI1), new CircleShape(4, 5, 6, new DrawingAPI2) ) foreach { x =&gt;
5, 6, new DrawingAPI2) ) foreach { x =&gt; x.resizePercentage(3) x.draw()
افک به معنای تهمت مربوط به حادثه‌ای است که گروهی از مخالفان محمد پیامبر اسلام در مدینه، مشهور به منافقان، به یکی از همسران محمد تهمت زنای محصنه زدند. آیات ۱۱ تا ۲۶ سوره نور به این موضوع مربوط می‌شود. منابع عامه متفقند که آن همسر عایشه بوده‌است، اما برخی از شیعیان آن روایات را قبول ندارد و می‌گوید که ماجرا به ماریه قبطیه مربوط می‌شود. به نظر محمدحسین طباطبایی، عالم شیعه، هر دو دسته از روایات عامه و شیعه اشکالات جدی دارد. به نوشته رابرت گلیو و پوناوالا کینه عایشه نسبت به علی از واقعه افک در زمان حیات محمد
عایشه نسبت به علی از واقعه افک در زمان حیات محمد نشئت می‌گرفت، که به نوشته سیره نویسان، وقتی برخی به عایشه تهمت زدند، علی به محمد پیشنهاد کرد عایشه را طلاق دهد. محمدحسین طباطبایی، این روایت را که در ماجرای افک دربارهٔ عایشه توسط عامه نقل شده‌است را نزد شیعه معتبر نمی‌داند. اما در ماجرای تحریم در قرآن، علی به عنوان حامی محمد، در برابر عایشه و حفصه قرار گرفته‌است، که مورد قبول شیعه و عامه می‌باشد. آیات قرآن. ان الّذین جاء و بالافک عصبة منکم لا تحسبوه شرا لکم بل هو خیر لکم لکل امری منهم ما اکتسب من الاثم و
بل هو خیر لکم لکل امری منهم ما اکتسب من الاثم و الّذی تولی کبره منهم له عذاب عظیم (۱۱) لو لا اذ سمعتموه ظنّ المؤمنون و المؤمنات بانفسهم خیرا و قالوا هذا افک مبین (۱۲) لو لا جاء و علیه باربعة شهداء فاذ لم یاتوا بالشهداء فاولئک عند اللّه هم الکاذبون (۱۳) و لو لا فضل اللّه علیکم و رحمتة فی الدنیا و الاخرة لمسکم فی ما افضتم فیه عذاب عظیم (۱۴) اذ تلقونه بالسنتکم و تقولون بافواهکم ما لیس لکم به علم و تحسبونه هینا و هو عند اللّه عظیم (۱۵) و لو لا اذ سمعتموه قلتم ما یکون لنا ان نتکلم بهذا سبحانک هذا بهتان عظیم
ما یکون لنا ان نتکلم بهذا سبحانک هذا بهتان عظیم (۱۶) یعظکم الله ان تعودوا لمثله ابداً ان کنتم مؤمنین (۱۷) و یبیّن الله لکم الایت و اللّه علیم حکیم (۱۸) ان الّذین یحبّون ان تشیع الفحشة فی الّذین ءامنوا لهم عذاب الیم فی الدنیا و الاخرة و اللّه یعلم و انتم لا تعلمون (۱۹) و لو لا فضل‌الله علیکم و رحمتة و ان اللّه رءوف رحیم (۲۰) یایها الّذین ءامنوا لا تتبعوا خطوت الشیطان و من یتبع خطوت الشیطان فانّه یامر بالفحشاء و المنکر و لو لا فضل اللّه علیکم و رحمتة ما زکی منکم من احد ابداً و لکن اللّه یزکی من یشاء و اللّه
من احد ابداً و لکن اللّه یزکی من یشاء و اللّه سمیع علیم (۲۱) ولا یاتل اولوا الفضل منکم و السعة ان یوتوا اولی القربی و المساکین و المهاجرین فی سبیل اللّه و لیعفوا و لیصفحوا الا تحبون ان یغفر اللّه لکم و اللّه غفور رحیم (۲۲) ان الّذین یرمون المحصنات الغا فلات المؤمنات لعنوا فی الدنیا و الاخرة و لهم عذاب عظیم (۲۳) یوم تشهد علیهم السنتهم و ایدیهم و ارجلهم بما کانوا یعملون (۲۴) یومئذ یوفّیهم اللّه دینهم الحق و یعلمون ان اللّه هو الحق المبین (۲۵) الخبیثات للخبیثین و الخبیثون للخبیثت و الطیبات للطیبین و الطیبون
و الخبیثون للخبیثت و الطیبات للطیبین و الطیبون للطیبات اولئک مبرّون ممّا یقولون لهم مغفرة و رزق کریم (۲۶)
آدریانو گُلدمن (به ) یک فیلم‌بردار اهل برزیل است. وی یک بار برندهٔ جایزهٔ امی ساعات پر بیننده شده‌است.
قلعه مریم یا قلعهٔ شکربانو یکی از آثار تاریخی استان کرمانشاه است، که در شهرستان سرپل ذهاب، روستای قره‌بلاغ شیخ‌مراد و در حدود ۳ کیلومتری شهر سرپل ذهاب قرار دارد. این قلعه تاریخی در حاشیه شمالی سرآب قره‌بلاغ و بر فراز تپه‌ای در ارتفاع ۱۰۰ متری از سطح زمین قرار دارد. این بنای تاریخی از لاشه سنگ و ملات گچ ساخته شده‌است. این بنا هنوز به سورت دقیق تعیین قدمت نشده‌است، اما چنین به نظر می‌رسد که متعلق به دوران ساسانیان است. مردم بومی این منطقه، این قلعه را به خسروپرویز نسبت می‌دهند و آن را همان قلعه‌ای می‌دانند که
نسبت می‌دهند و آن را همان قلعه‌ای می‌دانند که او برای همسر خود مریم یا شکربانو ساخته‌است. تاکنون نقشۀ عرصه و حریم بنای قلعه مریم تهیه نشده‌است.
فولکس‌واگن گلف (Volkswagen Golf) یک خودروی خانوادگی کوچک (خودروی کامپکت) تولید شده از سال ۱۹۷۴ توسط فولکس‌واگن آلمان می‌باشد، که در سراسر جهان در طول هفت نسل، در پیکربندی‌های مختلف بدنه و تحت نام‌های مختلف - مانند فولکس‌واگن ربیت (Volkswagen Rabbit) در ایالات متحده و کانادا (MK1 و MK5)، و به‌عنوان فولکس‌واگن کیریبی (Volkswagen Caribe) در مکزیک (MK1) به بازار عرضه شده‌است. گلف MK1 اصلی یک خودروی محورجلو بود. از لحاظ تاریخی، گلف پرفروش‌ترین مدل فولکس‌واگن و دومین مدل پرفروش در جهان، با بیش از ۲۹ میلیون دستگاه
مدل پرفروش در جهان، با بیش از ۲۹ میلیون دستگاه در ۲۰۱۲ است. نخست، بیشتر تولید گلف در سبک هاچ‌بک ۳ در بود. انواع دیگر شامل یک هاچ‌بک ۵ در، استیشن واگن (وریانت، از سال ۱۹۹۳)، خودروی کروکی (کبریولت و کبریو، ۱۹۷۹–۲۰۰۲، کبریولت، ۲۰۱۱-اکنون)، و یک سدان ناچ‌بک گلف می‌باشد، که با نام‌های مختلف فولکس‌واگن جتا، فولکس‌واگن ونتو (از سال ۱۹۹۲) یا فولکس‌واگن بورا (از سال ۱۹۹۹) وجود دارد. این خودرو بسیاری از بخش‌های بازار، از پایه یک ماشین شخصی، تا یک هات هاچ با عملکرد بالا را پر کرده‌است. فولکس‌واگن گلف جوایز بسیاری در
را پر کرده‌است. فولکس‌واگن گلف جوایز بسیاری در طول تاریخ خود به دست آورده‌است. فولکس‌واگن گلف خودروی سال جهان را در سال ۲۰۰۹، با فولکس‌واگن گلف ام‌کا۶ و در سال ۲۰۱۳ با فولکس‌واگن گلف ام‌کا۷ به دست آورد. گلف یکی از تنها سه خودرو، در میان دیگران یعنی رنو کلیو و اوپل/واکسول آسترا است، که رای خودروی سال اروپا را دو بار، در سال ۱۹۹۲ و ۲۰۱۳ به دست آورده‌است. فولکس‌واگن گلف در فهرست سالانه ۱۰ بهترین "ماشین و راننده" چندین بار انتخاب شده‌است. گلف ام‌کا ۷ جایزه خودروی سال ترند موتور را در سال ۲۰۱۵ به دست آورد، و
سال ترند موتور را در سال ۲۰۱۵ به دست آورد، و Mk1 GTI نیز در سال ۱۹۸۵ موفق به کسب جایزه شد (با توجه به این که در پنسیلوانیا ساخته شده‌است) پیوند به بیرون. گلف در وب‌سایت فولکس‌واگن
الگوی نما (فساد): یک الگوی ساختاری در الگوهای طراحی نرم‌افزار می‌باشد که معمولاً در برنامه‌نویسی شی گرا از آن استفاده می‌شود. نام آن برگرفته از شباهت آن به مشابه آن در معماری ساختمان نما (ساختمان) می‌باشد. نما، شیءای است که یک رابط راحت برای دسترسی به قسمت بزرگ و پیچیده‌ای از کد می‌باشد. مثل کتابخانه کلاس‌ها. فساد می‌تواند: معمولاً وقتی از الگوی طراحی نما استفاده می‌شود که سامانه از پیچیدگی زیادی برخوردار است یا فهمیدن آن دشوار است، به خاطر آن که تعداد زیادی از کلاس‌های دارای وابستگی داخلی یا کلاس‌هایی که
از کلاس‌های دارای وابستگی داخلی یا کلاس‌هایی که کد آنها در دسترس نباشد وجود داشته باشند. این الگو پیچیدگی یک سامانه بزرگ را مخفی کرده و یک رابط ساده برای مشتری فراهم می‌کند. معمولاً دارای یک کلاس پوشه‌بندی ساده است که مجموعه‌ای از عضوهای مورد نیاز مشتری در آن وجود دارند. این اعضا به جای مشتری نما، به سامانه دسترسی دارند و نحوه پیاده‌سازی را مخفی می‌کنند. استفاده. معمولاً وقتی که رابط دسترسی راحت‌تر به یک شیء در سطح پایین‌تر نیاز باشد از فساد استفاده می‌شود. همچنین زمانه که پوشه‌بند (wrapper) نیاز است تا یک
همچنین زمانه که پوشه‌بند (wrapper) نیاز است تا یک رابط خاصی را رعایت کند و رفتار چندوجهی (polymorphic) را رعایت کند از آداپتور می‌توان استفاده کرد. توسط دکوراتور می‌توان رفتار یک واسط را در زمان اجرا تغییر داد. معمولاً در مواقعی از الگوی نما استفاده می‌شود که: مثال. این مثال خلاصه از چگونگی ارتباط یک مشتری با یک نما در یک سامانه پیچیده است. (مشتری: کاربر، نما: کامپیوتر، سامانه: سخت‌افزار کامپیوتر) C. پیاده‌سازی. namespace DesignPattern.Facade class SubsystemA public string OperationA1() return "Subsystem
public string OperationA1() return "Subsystem A, Method A1\n"; public string OperationA2() return "Subsystem A, Method A2\n"; class SubsystemB public string OperationB1() return "Subsystem B, Method B1\n"; public string OperationB2() return "Subsystem B, Method B2\n"; class SubsystemC public string OperationC1() return "Subsystem C, Method C1\n"; public string OperationC2() return "Subsystem C, Method C2\n"; public class Facade private readonly SubsystemA a = new SubsystemA(); private readonly SubsystemB b
= new SubsystemA(); private readonly SubsystemB b = new SubsystemB(); private readonly SubsystemC c = new SubsystemC(); public void Operation1() Console.WriteLine("Operation 1\n" + a.OperationA1() + b.OperationB1() + c.OperationC1()); public void Operation2() Console.WriteLine("Operation 2\n" + a.OperationA2() + b.OperationB2() + c.OperationC2()); نمونه کد. namespace DesignPattern.Facade.Sample // The 'Subsystem ClassA' class class CarModel public void SetModel() Console.WriteLine(" CarModel - SetModel");
Console.WriteLine(" CarModel - SetModel"); /// &lt;summary&gt; /// The 'Subsystem ClassB' class /// &lt;/summary&gt; class CarEngine public void SetEngine() Console.WriteLine(" CarEngine - SetEngine"); // The 'Subsystem ClassC' class class CarBody public void SetBody() Console.WriteLine(" CarBody - SetBody"); // The 'Subsystem ClassD' class class CarAccessories public void SetAccessories() Console.WriteLine(" CarAccessories - SetAccessories"); // The 'Facade' class public class CarFacade private readonly
class public class CarFacade private readonly CarAccessories accessories; private readonly CarBody body; private readonly CarEngine engine; private readonly CarModel model; public CarFacade() accessories = new CarAccessories(); body = new CarBody(); engine = new CarEngine(); model = new CarModel(); public void CreateCompleteCar() Console.WriteLine("******** Creating a Car **********"); model.SetModel(); engine.SetEngine(); body.SetBody(); accessories.SetAccessories(); Console.WriteLine("******** Car
Console.WriteLine("******** Car creation is completed. **********"); // Facade pattern demo class Program static void Main(string[] args) var facade = new CarFacade(); facade.CreateCompleteCar(); Console.ReadKey(); جاوا. /* Complex parts */ class CPU { class HardDrive { class Memory { /* Facade */ class ComputerFacade { private CPU processor; private Memory ram; private HardDrive hd; public ComputerFacade() { this.processor = new CPU(); this.ram = new Memory(); this.hd = new HardDrive(); public void
Memory(); this.hd = new HardDrive(); public void start() { processor.freeze(); ram.load(BOOT_ADDRESS, hd.read(BOOT_SECTOR, SECTOR_SIZE)); processor.jump(BOOT_ADDRESS); processor.execute(); /* Client */ class You { public static void main(String[] args) { ComputerFacade computer = new ComputerFacade(); computer.start(); Ruby. class CPU def freeze; end def jump(position); end def execute; end end class Memory def load(position, data); end end class HardDrive def read(lba, size); end end class ComputerFacade
def read(lba, size); end end class ComputerFacade def initialize @processor = CPU.new @ram = Memory.new @hd = HardDrive.new end def start @processor.freeze @ram.load(BOOT_ADDRESS, @hd.read(BOOT_SECTOR, SECTOR_SIZE)) @processor.jump(BOOT_ADDRESS) @processor.execute end end computer_facade = ComputerFacade.new computer_facade.start
فاکس‌ترات () نوعی رقص مترقی و نَرم با حرکات روان پیوسته است که معمولاً با موسیقی آوازی گروه‌های بزرگ اجرا می‌شد. این رقص به لحاظ فرم شبیه والس است با این تفاوت که ریتم آن به جای ۳/۴، ۴/۴ است. فاکسترات در دههٔ ۱۹۱۰ رواج یافت، در دههٔ ۱۹۳۰ به اوج محبوبیت رسید و همچنان به حیات خود ادامه می‌دهد.
در پی بارندگی‌های شدیدی که از ۳۰ دی ۱۳۹۵ در مناطق جنوبی استان سیستان و بلوچستان در ایران آغاز شد، رودخانه‌های فصلی طغیان کردند و باعث بسته شدن ۱۵ راه اصلی و فرعی در این استان شدند. حدود ۳۰۰۰ خانه در مناطق ایرانشهر، سرباز، نیک‌شهر، کنارک و غیره آسیب دیدند. همچنین ۳ روستا به دلیل هم‌جواری با رودخانه کاملاً تخلیه شدند. به طور کلی ۱۶۷۰ چادر امدادی برای سیل‌زدگان برپا شد. نبود امکانات مناسب، کار کمک‌رسانی به اهالی روستاهای مختلف را سخت کرد. برای مثال طغیان رودخانه کاجو باعث شد تا دسترسی به ۸۰۰۰ تن از ساکنان
کاجو باعث شد تا دسترسی به ۸۰۰۰ تن از ساکنان روستاهای بخش سابورک غیرممکن شود. این در حالی بود که مردم این منطقه سالها منتظر ساخت پل حمیری روی این رودخانه بودند. این بارندگی‌ها و سیلاب‌های شدید تا کنون ۱ نفر کشته در پی داشته است. در دو سال منتهی به ۱۳۹۵ متوسط بارندگی در سیستان و بلوچستان ۱۰۵ میلی‌متر گزارش شده بود اما تنها در بارندگی‌های پایان دی‌ ماه و اوایل بهمن ۱۳۹۵ میزان بارندگی دست کم به میانگین ۱۰۰ میلی‌متر رسید. برخی از ایستگاه‌های سنجش، متوسط بارندگی را ۱۶۴ میلی‌متر گزارش کردند. در سال‌های منتهی به
را ۱۶۴ میلی‌متر گزارش کردند. در سال‌های منتهی به ۱۳۹۵ خشکسالی در این استان به حدی رسیده بود که نخل‌های خرما در حال سوختن بودند و بیش از ۴۰۰ قنات به طور کامل خشک شده بودند. مسئولان این استان مجبور شده بودند آب باقیمانده در سدها را صرفاً برای شرب اختصاص دهند. اضافه‌برداشت از سدها و دیگر منابع آبی در سیستان و بلوچستان به ۶۰۰ میلیون متر مکعب رسید. همچنین وضعیت به گونه‌ای شده بود که زمین در حال فرونشست بود و آب شیرین داشت تبدیل به آب شور می‌شد. از این رو ۱۳۰۰ روستای این استان با تانکر آب دریافت می‌کردند. از این
این استان با تانکر آب دریافت می‌کردند. از این رو روستاییان در برخی از نقاط این استان از بارش‌های سنگین باران ابراز خوشحالی می‌کردند. یکی از دلایلی که بارندگی‌های شدید بهمن ۱۳۹۵ باعث فجایع بدتر نشد خالی بودن سدها گزارش شده است. با این حال برخی اعضای ستاد هماهنگی مدیریت بحران و مدیران آب منطقه‌ای سیستان و بلوچستان بر این باور بودند که سدهای این استان در جریان بارندگی‌های سیل‌آسا در بهمن ۹۵ تنها توانسته‌اند ۸۰ میلیون متر مکعب آب را در خود نگاه دارند. این در حالی است که اندازهٔ بارندگی در اوایل بهمن ۱۳۹۵ به ۶
است که اندازهٔ بارندگی در اوایل بهمن ۱۳۹۵ به ۶ میلیارد متر مکعب می‌رسید که بخش زیادی از آن به دریا رفت. همچنین برخی سدها نظیر سد پیشین در شهرستان سرباز با وجود گذشت ۱۲ سال از زمان بهره‌برداری هنوز دارای شبکه انتقال آب نیستند. سد کهیر نیز که قرار است گنجایش ۱۴۰ میلیون متر مکعب داشته باشد هنوز به بهره‌برداری نرسیده است. خسارت. برآوردهای نخستین حاکی از خسارت ۱۵۰ میلیارد تومانی به زیرساخت‌های کشاورزی، جاده‌ای و ساختمانی در این استان بوده است. با این حال دولت اعلام کرد که ۲۰۰ میلیارد تومان خسارت به این استان
اعلام کرد که ۲۰۰ میلیارد تومان خسارت به این استان اختصاص خواهد داد. حدود ۶۰ مدرسه هم بیشتر در شهرستان‌های قصرقند، کنارک و سرباز آسیب دیدند.
«فاکس‌ترات» چهارمین آلبوم استودیویی از جنسیس، گروه موسیقی پراگرسیو راک بریتانیایی است که سال ۱۹۷۲ میلادی منتشر شد. این آلبوم در رتبهٔ ۱۲ چارت بریتانیا قرار گرفت و با نقدهای عموماً مثبتی روبرو شد که بزرگترین موفقیت گروه تا آن زمان به‌شمار می‌رفت. طرف دوم دیسک ترانه‌ای ۲۳دقیقه‌ای به نام «شام آماده است» (Supper's Ready) دارد که از آثار کلیدی سبک پراگرسیو راک به‌شمارمی‌رود و از سوی وبگاه آل میوزیک به عنوان «شاهکار بلامنازع» گروه جنسیس معرفی شده است.
مسجد فتح‌آباد، اثری تاریخی مربوط به دوره قاجاریه است که در روستای فتح‌آباد از توابع بخش مرکزی شهرستان فردوس واقع شده‌است. این اثر در تاریخ با شمارهٔ ثبت ۱۶۳۲۵ به‌عنوان یکی از آثار ملی ایران به ثبت رسیده است.
اولمو یک شخصیت خیالی در رشته‌افسانه‌های جی. آر. آر. تالکین است؛ که نخستین بار در سیلماریلیون به عنوان یک والا یا خدای الف‌های پانتئون، از آن سخن به میان آمده‌است. اولمو به معنای هر آنچه هست، است. او همچنین به عنوان پادشاه دریا و خداوند آب شناخته شده‌است. او شبیه به پوزئیدون، خدای دریا در اساطیر یونانی و نپتون در اساطیر روم است. اولمو یکی از معماران اصلی آردا (جهان) بود. اولمو در عظمت در میان والار، پس از مانوه و پیش از آئوله دوم بود؛ به عبارت دیگر، او دومین آراتار بود. او از دوستان بسیار نزدیک مانوه بود.
آراتار بود. او از دوستان بسیار نزدیک مانوه بود. پیش از ایجاد زمین (آردا) زمانی که آینور پدر خود، ارو ایلوواتار را به نغمه سرایی خواندند؛ اولمو از بهترین خوانندگان و سازندگان موسیقی بود. الف‌ها مهارت خود در موسیقی را به تعالیم اولمو مدیون هستند؛ و نغمه‌هایش را در تلالوی نهرها و رودها می‌شناخت. اولمو همیشه به ملکور بی‌اعتماد بود، و لرد سیاه از دریا می‌ترسید؛ چرا که، هیچ وقت نتوانست دریا را رام خود کند. اولمو هیچ خانه‌ای در والینور نداشت، و تنها در آنجا به ندرت دررفت‌وآمد بود، یا هیچ خانهٔ دائمی در روی زمین
دررفت‌وآمد بود، یا هیچ خانهٔ دائمی در روی زمین در اعماق دریاها و رودخانه‌ها نداشت. او هرگز ازدواج نکرد، که این به انزوای او بیش از بیش افزود. او به ندرت به شوراهای ماهاناکسر می‌رفت و تنها زمانی که نیاز شدیدی احساس می‌شد حضور داشت. او ترجیح داد تا در آردا بماند، بر روی زمین قدم قرار ندهد، شکل خود را به عنوانی مردانی از الف‌ها حفظ کند. تمام آب‌ها، خلیج‌ها، رودخانه‌ها و حتی آب‌های زیر زمین تحت فرمان او بودند. او گفت: برای اینکه چشمان فانی‌ها به او نیوفتد، لباسی به مانند یک موج غول پیکر بر تن می‌کند. بندهٔ
به مانند یک موج غول پیکر بر تن می‌کند. بندهٔ اولمو، اوسه، و همسر اوسه، یواینن، بهترین مایار شناخته شده در میان الف‌ها بودند؛ که از طریق آنها اولمو توانست به الف‌ها بیاموزد. اولمو والاترین مسئول سقوط مورگوت، با ساخت گوندولین و فیندور به خواست تورگون بود.
الگوی وکالت در برنامه‌نویسی، از جمله الگوهای طراحی نرم‌افزار است. وکیل، در کلی‌ترین حالت، کلاس واسطه‌ای برای انجام کار دیگری است. پروکسی می‌تواند رابط هر چیزی باشد: یک ارتباطه تحت شبکه، شیء بزرگی در داخل حافظه، یک فایل، یا یک سری از منابع دیگر که نمونه‌سازی از آن‌ها بسیار سخت یا غیرممکن است. به صورت خلاصه، وکیل پوشه‌بند یا نیروی اجرایی‌ای است که توسط مشتری صدا زده می‌شود تا به شیء اصلی در پشت‌پرده دسترسی پیدا کند. استفاده از وکیل می‌تواند انتقال به شی واقعی را راحت‌تر کند یا روش‌های دیگری برای آن به وجود
را راحت‌تر کند یا روش‌های دیگری برای آن به وجود بیاورد. در الگوی وکالت قابلیت‌های اضافه‌تر می‌تواند به وجود بیاید، به‌طور مثال، استفاده از حافظه موقت، برای وقتی که استفاده از شیء اصلی هزینه پردازشی و هزینه دسترسی به حافظه زیادی داشته باشد، یا در چک کردن شرایط اولیه قبل از آن که عملیات بر روی شیء اصلی اعمال شود. برای مشتری با استفاده از وکیل مانند استفاده از شیء اصلی است، چرا که رابط هر دو مشابه است. سناریوهای احتمالی استفاده. وکالت از راه دور. در ارتباطات اشیاء توزیع شده، از یک شیء محلی به عنوان
ارتباطات اشیاء توزیع شده، از یک شیء محلی به عنوان نمایش‌دهنده شیء خارجی (که متعلق به یک فضای خارجی از آدرس‌دهی‌ها است) است. شیء محلی به عنوان وکیل شیء خارجی شناخته می‌شود، و اجرای توابع شیء محلی به اجرای توابع در شیء اصلی می‌انجامد. به عنوان مثال: دستگاه خودپرداز، که در آن یک وکیل از اطلاعات بانکی در سرور خارجی وجود دارد. وکالت مجازی. در مواجهه به شیء پیچیده یا سنگین وزن (از نظر حافظه)، در بعضی موارد نشان دادن تنها بدنه‌ای از شیء می‌تواند مفیدتر باشد. وقتی که تصویر ایجاد شده اندازه بزرگی داشته باشد،
وقتی که تصویر ایجاد شده اندازه بزرگی داشته باشد، می‌تواند توسط یک وکیل مجازی، که بر روی شیء واقعی پیاده‌سازی شده، نشان داده شود. وکالت امنیتی. برای محافظت از کنترل دسترسی‌ها می‌توان این وظیفه را به یک وکیل سپرد. مثال. #C. interface ICar void DriveCar(); // Real Object public class Car : ICar public void DriveCar() Console.WriteLine("Car has been driven!"); //Proxy Object public class ProxyCar : ICar private Driver driver; private ICar realCar; public ProxyCar(Driver driver) this.driver = driver;
ProxyCar(Driver driver) this.driver = driver; this.realCar = new Car(); public void DriveCar() if (driver.Age &lt;= 16) Console.WriteLine("Sorry, the driver is too young to drive."); else this.realCar.DriveCar(); public class Driver public Driver(int age) this.Age = age; // How to use above Proxy class? private void btnProxy_Click(object sender, EventArgs e) ICar car = new ProxyCar(new Driver(16)); car.DriveCar(); car = new ProxyCar(new Driver(25)); car.DriveCar(); خروجی Sorry, the driver is too young to
خروجی Sorry, the driver is too young to drive. Car has been driven! یادداشت: ++C. class ICar { public: virtual void DriveCar() = 0; class Car : public ICar { void DriveCar() override { std::cout «"Car has been driven!"; }; class ProxyCar : public ICar { private: ICar* realCar = new Car(); int _driver_age; public: void DriveCar() { if (_driver_age&gt; 16) realCar-&gt;DriveCar(); else std::cout «"Sorry, the driver is too young to drive."; // How to use above Proxy class? void main() ICar* car = new
above Proxy class? void main() ICar* car = new ProxyCar(16); car-&gt;DriveCar(); delete car; car = new ProxyCar(25); car-&gt;DriveCar(); delete car; کریستال. abstract class AbstractCar abstract def drive end class Car &lt;AbstractCar def drive puts "Car has been driven!" end end class Driver getter age : Int32 def initialize(@age) end end class ProxyCar &lt;AbstractCar private getter driver : Driver private getter real_car : AbstractCar def initialize(@driver) @real_car = Car.new end def drive if
@real_car = Car.new end def drive if driver.age &lt;= 16 puts "Sorry, the driver is too young to drive." else @real_car.drive end end end driver = Driver.new(16) car = ProxyCar.new(driver) car.drive driver = Driver.new(25) car = ProxyCar.new(driver) car.drive خروجی Sorry, the driver is too young to drive. Car has been driven! Delphi / Object Pascal. // Proxy Design pattern unit DesignPattern.Proxy; interface type // Car Interface ICar = interface procedure DriveCar; end; // TCar class, implementing ICar
DriveCar; end; // TCar class, implementing ICar TCar = Class(TInterfacedObject, ICar) class function New: ICar; procedure DriveCar; End; // Driver Interface IDriver = interface function Age: Integer; end; // TDriver Class, implementing IDriver TDriver = Class(TInterfacedObject, IDriver) private FAge: Integer; public constructor Create(Age: Integer); Overload; class function New(Age: Integer): IDriver; function Age: Integer; End; // Proxy Object TProxyCar = Class(TInterfacedObject, ICar) private FDriver:
= Class(TInterfacedObject, ICar) private FDriver: IDriver; FRealCar: ICar; public constructor Create(Driver: IDriver); Overload; class function New(Driver: IDriver): ICar; procedure DriveCar; End; implementation class function TCar.New: ICar; begin Result := Create; end; procedure TCar.DriveCar; begin WriteLn('Car has been driven!'); end; constructor TDriver.Create(Age: Integer); begin inherited Create; FAge := Age; end; class function TDriver.New(Age: Integer): IDriver; begin Result := Create(Age); end;
IDriver; begin Result := Create(Age); end; function TDriver.Age: Integer; begin Result := FAge; end; constructor TProxyCar.Create(Driver: IDriver); begin inherited Create; Self.FDriver := Driver; Self.FRealCar := TCar.Create AS ICar; end; class function TProxyCar.New(Driver: IDriver): ICar; begin Result := Create(Driver); end; procedure TProxyCar.DriveCar; begin if (FDriver.Age &lt;= 16) then WriteLn('Sorry, the driver is too young to drive.') else FRealCar.DriveCar(); end; end. استفاده program Project1;