الگوي obsever

بپرسید
  • فاطمه30 فاطمه30
  • 78 ماه قبل
  • 78 ماه قبل
  • 503 نمایش

0

{{ digitTrunc(content.likes) }}

همانطور که میدانیم در الگوی Observer هدف observer ها مطلع شدن از تغییراتsubject میباشد. حال اگر بخواهیم این اطلاع دوطرفه باشد، یعنی subject هم از تغییراتobserver ها مطلع شود و به عبارتی کلاسها -در ارتباط با یکدیگر- هم observer باشندو هم subject ، در الگو پايه چه تغییراتی باید صورت پذیرد ؟

در اين حالت من يك كلاس ديگه مثلا به اسم sub-obs درنظر گرفتم كه نقش هر دو رو داره و observer هابراي ثبت نام و انصراف و همچنين subject ها براي فراخواني متد notify كه تغييرات رو اعلام ميكنه به اين كلاس مراجعه مي كنند

بعد گفتم در subject يك متد notify ديگه وجود داشته باشه كه با فراخواني اون notify كلاس جديد sub-obs اجرا بشه (يك اشاره گر از نوع كلاس sub-obs داره)

در observer هم يك متد باشه كه ,وضعيتش رو مشخص ميكنه كه observer است يا subject . هر وقت state اون در حالت subject قرار گرفت ابزور ميتونه سابجكت باشه (باز هم از يك اشاره گر از نوع كلاس sub-obs داخلش داره كه بتونيم در حالت سابجكت از متد هاي ثبت نام و انصراف استفاده كنه )

حالا مي خوام بدونم آيا راه كار من درست جواب ميده ؟ و آيا بايد متدهايي كه در اين كلاس sub-obs هستند obstract باشن؟يا بايد يه پياده سازي اوليه داشته باشن؟

آيا لازمه متد upbate آبزور ها هم در اين كلاس جديد sub-obs معرفي بشه؟

ميخوام اول نمودار كلاسش بكشم بعد كدش پياده كنم

ممنون ميشم كمكم كنيد

فوريه

سپاس

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است