سی شارپ

|

سی شارپاین قسمت آخرین قسمت دوره مقدماتی سی شارپ هست که ما از این قسمت به بعد ما یواش یواش میاییم با تکنیک ها و تاکتیک هایی که توی زبان سی شارپ وجود دارند و همچنین پترنهایی که به design pattern مشهور هستند آشنا میشیم

یواش یواش و میبینیم که به مرور این زبان قدرتمند چه تغییراتی رو در خودش پذیرفته برای انجام دادن یک سری کارها به عنوان مثال مثلا برای ایجاد کردن آرایه ها و یک سری عملیات که بخواهیم روی آرایه ها انجام بدهیم پترن های جالب و جذابی وجود دارد که هم کد نویسی ما رو کمتر میکنه هم هوشمندی کد مارو بسیار بیشتر از قبل میکنه و در 2 دوره ی بعدی ما در اصل رو تاکتیک ها و تکنیک هایی که سی شارپ میپذیرد و تا الان به وجود اومده در این زبان کار میکنیم.اولین پترنی که ما داخل همین دوره مقدماتی ما می خواهیم به عنوان آخرین فایل آموزشی اریه بدیم پترن singletone هست و فلسفه این پترنو اگه بخوام خیلی ساده خدمتتون بگم اینه که ما فرض بکنیم یک کلاسی داریم که فقط و فقط میخواهیم برای اون کلاس یک object ایجاد بشه حالا ما جلوتر که بریم شما میبینید میتونیم کلاس هایی بسازیم که اصلا ازشون object ایجاد نشه و حالا تحت یک شرایط خاص ایجاد بشه که اینارو در ادامه کار میکنیم جزو همون تکنیک ها و تاکتیک ها هستن.ولی حالا شما فرض بکنید فقط میخواهیم از یک کلاسی که شما ایجاد میکنید یک object و تنها یک object ایجاد بشه و بیشتر از یک object برای اون کلاس قبلیت ایجاد شدن نداشته باشد.اونموقع پترن singletone به شما کمک میکند که شما بتونید این فعالیت رو انجام بدید.برای اینکه پترن singletone رو ما بتونیم پیاده سازی بکنیم قبل از نام کلاس خودمون کلاسمون رو به صورت فیلد تعریف میکنیم و حالا یک نامی رو برای اون کلاس در نظر گرفتیم به عنوان مثال supervisor .همینطور که میبنید یک فیلد داریم اینجا ما که private هست که نام instance رو داره برابر با نال همون ابتدای کار قرارش دادیم و به صورت استاتیک هست همچنین ما یک متد getinstance داریم که اونم به صورت استاتیک هست و داخل اون ما چک کردیم که اگر این instance ما برابر با نال بود یدونه new بکن یعنی که instance رو قرار بده با newsupervisor یعنی که از کلاس خود supervisor همین ابتدای کار new بکنه.این instance رو هم که میبینیم خودش از جنس کلاس supervisor هست ولی به صورت private هست و به صورت استاتیک.در نهایت ریترن بکنه اون instance رو که چک میشه اگه نال بود new میشه و ریترن میشه اگر هم که نال نبود همون instance که از قبل بود ریترن میشه.عکس1

یک سازنده داریم که سازنده کلاس supervisor ما هست به صورت private تعریفش کردیم و یک فیلد age و fullname و showinfo که تو کلاس های معمولی داشتیم و باهاش کار کردیم.خب تو بدنه کلاس program 2تا قرار کامنت قرار دادم که این کامنت هارو خودتون مورد بررسی قرار بدین که ببینید بیشتر از یک object نمیتونید در اصل بسازید.من اومدم یک object از کلاس supervisor خودم ایجاد کردم و برابر قرارش دادم با supervisor.getinstance چون استاتیک هست کلمه ی کلاس رو بهش دسترسی داشتم اینجا چک میکنه که اگه object ایجاد نشده باشه یک object نیو میکنه وinstance رو برمیگردونه.

عکس2

دریافت آخرین مطالب وبلاگ در کانال داتینه

علی نعیمی

علی نعیمی هستم،دارای لیسانس سخت افزار.
از سال 90 بصورت تخصصی به فراگیری زبان سی شارپ پرداختم. در حال حاضر مسلط به سی شارپ، جاوا، پایگاه داده و زبان های تحت وب هستم.

نظرات
نظر بدهید