Payamvdn/NorthPersian_fa_wiki huggingface dataset:
final double radius) { System.out.printf("API2.circle at %f:%f radius %f ", x, y, radius); /** "Abstraction" */ abstract class Shape { protected DrawingAPI drawingAPI; protected Shape(final DrawingAPI drawingAPI){ this.drawingAPI = drawingAPI; public abstract void draw(); // low-level public abstract void resizeByPercentage(final double pct); // high-level /** "Refined Abstraction" */ class CircleShape extends Shape { private double x, y, radius; public CircleShape(final double x, final double y, final 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, 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. "; class DrawingAPI2 implements DrawingAPI { public function drawCircle($x, $y, $radius) { echo "API2.circle at $x:$y radius $radius. "; 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) { parent::__construct($drawingAPI); $this-&gt;x = $x; $this-&gt;y = $y; $this-&gt;radius = $radius; public function dra
w() { $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) { $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 $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: DrawingA
PI) { 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; x.resizePercentage(3) x.draw()
افک به معنای تهمت مربوط به حادثه ای است که گروهی از مخالفان محمد پیامبر اسلام در مدینه، مشهور به منافقان، به یکی از همسران محمد تهمت زنای محصنه زدند. آیات ۱۱ تا ۲۶ سوره نور به این موضوع مربوط می شود. منابع عامه متفقند که آن همسر عایشه بوده است، اما برخی از شیعیان آن روایات را قبول ندارد و می گوید که ماجرا به ماریه قبطیه مربوط می شود. به نظر محمدحسین طباطبایی، عالم شیعه، هر دو دسته از روایات عامه و شیعه اشکالات جدی دارد. به نوشته رابرت گلیو و پوناوالا کینه عایشه نسبت به علی از واقعه افک در زمان حیات محمد نشئت می گرفت، که به نوشته سیره نویسان، وقتی برخی به عایشه تهمت زدند، علی به محمد پیشنهاد کرد عایشه را طلاق دهد. محمدحسین طباطبایی، این روایت را که در ماجرای افک دربارهٔ عایشه توسط عامه نقل شده است را نزد شیعه معتبر نمی داند. اما در ماجرای تحریم در قرآن، علی به عنوان حامی محمد، در برابر عایشه و حفصه قرار گرفته است، که مورد قبول شیعه و عامه می باشد. آیات قرآن. ان الّذین جاء و بالافک عصبة منکم لا تحسبوه شرا لکم بل هو خیر لکم لکل امری منهم ما اکتسب من الاثم و الّذی تولی کبره منهم له عذاب عظیم (۱۱) لو لا اذ سمعتموه
ظنّ المؤمنون و المؤمنات بانفسهم خیرا و قالوا هذا افک مبین (۱۲) لو لا جاء و علیه باربعة شهداء فاذ لم یاتوا بالشهداء فاولئک عند اللّه هم الکاذبون (۱۳) و لو لا فضل اللّه علیکم و رحمتة فی الدنیا و الاخرة لمسکم فی ما افضتم فیه عذاب عظیم (۱۴) اذ تلقونه بالسنتکم و تقولون بافواهکم ما لیس لکم به علم و تحسبونه هینا و هو عند اللّه عظیم (۱۵) و لو لا اذ سمعتموه قلتم ما یکون لنا ان نتکلم بهذا سبحانک هذا بهتان عظیم (۱۶) یعظکم الله ان تعودوا لمثله ابداً ان کنتم مؤمنین (۱۷) و یبیّن الله لکم الایت و اللّه علیم حکیم (۱۸) ان الّذین یحبّون ان تشیع الفحشة فی الّذین ءامنوا لهم عذاب الیم فی الدنیا و الاخرة و اللّه یعلم و انتم لا تعلمون (۱۹) و لو لا فضل الله علیکم و رحمتة و ان اللّه رءوف رحیم (۲۰) یایها الّذین ءامنوا لا تتبعوا خطوت الشیطان و من یتبع خطوت الشیطان فانّه یامر بالفحشاء و المنکر و لو لا فضل اللّه علیکم و رحمتة ما زکی منکم من احد ابداً و لکن اللّه یزکی من یشاء و اللّه سمیع علیم (۲۱) ولا یاتل اولوا الفضل منکم و السعة ان یوتوا اولی القربی و المساکین و المهاجرین فی سبیل اللّه و لیعفوا و لیصفحوا الا تحبون ان یغفر اللّه لکم و
اللّه غفور رحیم (۲۲) ان الّذین یرمون المحصنات الغا فلات المؤمنات لعنوا فی الدنیا و الاخرة و لهم عذاب عظیم (۲۳) یوم تشهد علیهم السنتهم و ایدیهم و ارجلهم بما کانوا یعملون (۲۴) یومئذ یوفّیهم اللّه دینهم الحق و یعلمون ان اللّه هو الحق المبین (۲۵) الخبیثات للخبیثین و الخبیثون للخبیثت و الطیبات للطیبین و الطیبون للطیبات اولئک مبرّون ممّا یقولون لهم مغفرة و رزق کریم (۲۶)
آدریانو گُلدمن (به ) یک فیلم بردار اهل برزیل است. وی یک بار برندهٔ جایزهٔ امی ساعات پر بیننده شده است.
قلعه مریم یا قلعهٔ شکربانو یکی از آثار تاریخی استان کرمانشاه است، که در شهرستان سرپل ذهاب، روستای قره بلاغ شیخ مراد و در حدود ۳ کیلومتری شهر سرپل ذهاب قرار دارد. این قلعه تاریخی در حاشیه شمالی سرآب قره بلاغ و بر فراز تپه ای در ارتفاع ۱۰۰ متری از سطح زمین قرار دارد. این بنای تاریخی از لاشه سنگ و ملات گچ ساخته شده است. این بنا هنوز به سورت دقیق تعیین قدمت نشده است، اما چنین به نظر می رسد که متعلق به دوران ساسانیان است. مردم بومی این منطقه، این قلعه را به خسروپرویز نسبت می دهند و آن را همان قلعه ای می دانند که او برای همسر خود مریم یا شکربانو ساخته است. تاکنون نقشه عرصه و حریم بنای قلعه مریم تهیه نشده است.
اس ام اس پرینزریگرت لویتپولد پنجمین و آخرین نبردناو از نبردناو کلاس قیصر در نیروی دریایی امپراتوری آلمان است.اس ام اس کازرین و اس ام اس کایزر (۱۹۱۱) کشتی های خواهر لویتپولد هستند.این ناو در سال ۱۹۳۳ برای اوراق سازی کشتی فراخوانده شد.
فولکس واگن گلف (Volkswagen Golf) یک خودروی خانوادگی کوچک (خودروی کامپکت) تولید شده از سال ۱۹۷۴ توسط فولکس واگن آلمان می باشد، که در سراسر جهان در طول هفت نسل، در پیکربندی های مختلف بدنه و تحت نام های مختلف - مانند فولکس واگن ربیت (Volkswagen Rabbit) در ایالات متحده و کانادا (MK1 و MK5)، و به عنوان فولکس واگن کیریبی (Volkswagen Caribe) در مکزیک (MK1) به بازار عرضه شده است. گلف MK1 اصلی یک خودروی محورجلو بود. از لحاظ تاریخی، گلف پرفروش ترین مدل فولکس واگن و دومین مدل پرفروش در جهان، با بیش از ۲۹ میلیون دستگاه در ۲۰۱۲ است. نخست، بیشتر تولید گلف در سبک هاچ بک ۳ در بود. انواع دیگر شامل یک هاچ بک ۵ در، استیشن واگن (وریانت، از سال ۱۹۹۳)، خودروی کروکی (کبریولت و کبریو، ۱۹۷۹–۲۰۰۲، کبریولت، ۲۰۱۱-اکنون)، و یک سدان ناچ بک گلف می باشد، که با نام های مختلف فولکس واگن جتا، فولکس واگن ونتو (از سال ۱۹۹۲) یا فولکس واگن بورا (از سال ۱۹۹۹) وجود دارد. این خودرو بسیاری از بخش های بازار، از پایه یک ماشین شخصی، تا یک هات هاچ با عملکرد بالا را پر کرده است. فولکس واگن گلف جوایز بسیاری در طول تاریخ خود به دست آورده است. فولکس واگن گلف
خودروی سال جهان را در سال ۲۰۰۹، با فولکس واگن گلف ام کا۶ و در سال ۲۰۱۳ با فولکس واگن گلف ام کا۷ به دست آورد. گلف یکی از تنها سه خودرو، در میان دیگران یعنی رنو کلیو و اوپل/واکسول آسترا است، که رای خودروی سال اروپا را دو بار، در سال ۱۹۹۲ و ۲۰۱۳ به دست آورده است. فولکس واگن گلف در فهرست سالانه ۱۰ بهترین "ماشین و راننده" چندین بار انتخاب شده است. گلف ام کا ۷ جایزه خودروی سال ترند موتور را در سال ۲۰۱۵ به دست آورد، و Mk1 GTI نیز در سال ۱۹۸۵ موفق به کسب جایزه شد (با توجه به این که در پنسیلوانیا ساخته شده است) پیوند به بیرون. گلف در وب سایت فولکس واگن
دانیال قاضی یف ورزشکار مرد رشتهٔ کشتی فرنگی متولد ۲۰ فوریهٔ ۱۹۸۶ در کشور روسیه است که برای کشور قزاقستان کشتی می گیرد. از افتخارات وی می توان به کسب مدال برنز وزن ۸۴ کیلوگرم فرنگی المپیک ۲۰۱۲ لندن اشاره کرد.
فلندر ورکه نام یک شرکت کشتی سازی در آلمان است که در نزدیکی لوبک واقع شده و یکی از بزرگترین کارخانه های کشتی سازی در آلمان بود و در مجموع ۷۰۰ شناور ساخت.در زمان جنگ جهانی دوم فلندر ورکه ۲ عدد زیردریایی تیپ ۲ و ۴۰ عدد زیردریایی تیپ ۷ را برای کریگسمارینه ساخت.این شرکت در سال ۲۰۰۲ دچار ورشکستگی شد.
الگوی نما (فساد): یک الگوی ساختاری در الگوهای طراحی نرم افزار می باشد که معمولاً در برنامه نویسی شی گرا از آن استفاده می شود. نام آن برگرفته از شباهت آن به مشابه آن در معماری ساختمان نما (ساختمان) می باشد. نما، شیءای است که یک رابط راحت برای دسترسی به قسمت بزرگ و پیچیده ای از کد می باشد. مثل کتابخانه کلاس ها. فساد می تواند: معمولاً وقتی از الگوی طراحی نما استفاده می شود که سامانه از پیچیدگی زیادی برخوردار است یا فهمیدن آن دشوار است، به خاطر آن که تعداد زیادی از کلاس های دارای وابستگی داخلی یا کلاس هایی که کد آنها در دسترس نباشد وجود داشته باشند. این الگو پیچیدگی یک سامانه بزرگ را مخفی کرده و یک رابط ساده برای مشتری فراهم می کند. معمولاً دارای یک کلاس پوشه بندی ساده است که مجموعه ای از عضوهای مورد نیاز مشتری در آن وجود دارند. این اعضا به جای مشتری نما، به سامانه دسترسی دارند و نحوه پیاده سازی را مخفی می کنند. استفاده. معمولاً وقتی که رابط دسترسی راحت تر به یک شیء در سطح پایین تر نیاز باشد از فساد استفاده می شود. همچنین زمانه که پوشه بند (wrapper) نیاز است تا یک رابط خاصی را رعایت کند و رفتار چندوجهی (polymorph
ic) را رعایت کند از آداپتور می توان استفاده کرد. توسط دکوراتور می توان رفتار یک واسط را در زمان اجرا تغییر داد. معمولاً در مواقعی از الگوی نما استفاده می شود که: مثال. این مثال خلاصه از چگونگی ارتباط یک مشتری با یک نما در یک سامانه پیچیده است. (مشتری: کاربر، نما: کامپیوتر، سامانه: سخت افزار کامپیوتر) C. پیاده سازی. namespace DesignPattern.Facade class SubsystemA public string OperationA1() return "Subsystem A, Method A1 "; public string OperationA2() return "Subsystem A, Method A2 "; class SubsystemB public string OperationB1() return "Subsystem B, Method B1 "; public string OperationB2() return "Subsystem B, Method B2 "; class SubsystemC public string OperationC1() return "Subsystem C, Method C1 "; public string OperationC2() return "Subsystem C, Method C2 "; public class Facade private readonly SubsystemA a = new SubsystemA(); private readonly SubsystemB b = new SubsystemB(); private readonly SubsystemC c = new SubsystemC(); public void Operation1() Console.WriteLine("Operation 1 " + a.OperationA1() + b.Ope
rationB1() + c.OperationC1()); public void Operation2() Console.WriteLine("Operation 2 " + a.OperationA2() + b.OperationB2() + c.OperationC2()); نمونه کد. namespace DesignPattern.Facade.Sample // The 'Subsystem ClassA' class class CarModel public void 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 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 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 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; en
d end class Memory def load(position, data); end end class HardDrive 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; 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 clas
s 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 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 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 initial
ize(@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 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 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: In
teger; End; // Proxy Object TProxyCar = 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; 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; uses Desi