آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دیزاین پترن بیلدر (Builder Design Pattern) در جاوا اسکریپت

کاشی زاده  11 سال پیش  11 سال پیش
+7 0

سلام ،

دوستانی که آموزش های خانه اندروید رو مطالعه کرده باشند با این دیزاین پترن آشنا هستند .

و ما هم  سعی میکنیم مثل آموزش های استاد در خانه اندروید در جاوا اسکریپت هم  به همین صورت دیزاین پترن رو شبیه سازی میکنیم.

در ابتدا باید با چند چیز در JavaScript آشنا بشیم که بهتره به این تاپیک مراجعه کنید و در مورد شی گرایی در  Java Script  اطلاعاتون رو بیشتر کنید .

چیزی که ما در آخر میخوایم بهش برسیم طراحی یک الگو برای تعریف یک کلاس و دسترسی به Property های اون هست که در زیر یک نمونه ای از کلاس که این الگو در آن استفاده شده رو میبینیم.

 <script>
var sampleBuilderClass = new BuilderClass()
.setName('myName')
.setId(4)
.show();
</script>

برای تعریف این الگو ابتدا نیاز هست ما یک کلاس در فایل جاوا اسکریپت ایجاد کنیم که اسم اون رو ما BuilderClass میذاریم توجه داشته باشید بهتره برای نوشتن نام کلاس اولین حرف اون به صورت بزرگ نوشته بشه و از قاعده UpperCamelCase  استفاده بشه .

در کلاس  BuilderClass چند Property تعریف میکنیم شامل خواص name, Id هستند و برای تغییر هر کدام یک متد مینویسیم و در آخر هم برای نمایش از متدی با نام show استفاده میکنیم.

در زیر نمونه یک کلاس پیاده سازی شده بر اساس این الگو بهمراه ویژگی ها و متد ها رو مینویسیم .

 function BuilderClass(){
this.name = '';
this.id = 0;

this.setName = function(value){
this.name = value;
return this;
}

this.setId = function(value){
this.id = value;
return this;
}

this.show = function(){
alert("Name = " + this.name + " ID = " + this.id);
}
}

 <!DOCTYPE html>
<html>
<head>
<title></title>

<script src="sample.min.js"></script>
<script>
var sampleBuilderClass = new BuilderClass()
.setName('myName')
.setId(4)
.show();

</script>

</head>
<body>

</body>
</html>

در نهایت چیزی که ما میبینیم عکس زیر هست شما با این روش میتونید در نوشتن یک امکان با استفاده از JS برای سایتتون خیلی کمک بگیرید و باعث تمیزی و راحتی استفاده از اون قابلیت میشه .

میتونید قابلیت هایی که نیاز دارید رو استفاده کنید و تغییر بدید با کمترین کثیف کاری در کد .

 

.

موفق باشید :)

 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .