The Abstraction-Occurrence Pattern

نگارش شده در تاريخ : یکشنبه, اردیبهشت ۲۰, ۱۳۸۸ و ساعت : ۱۹:۵۴
ارسال شده در قسمت : تکنولوژی, طراحی نرم افزار

The Abstraction-Occurrence Pattern

معمولاً در Domain Model، اشبائی مرتبط با هم، به شکل یک مجموعه(یا سری) یافت می شوند، که این اشیاء در یرخی اطلاعات با هم در اشتراک هستند، اما در سبک و سیاق متفاوت. به مجموعه این اشیاء اصطلاحاً، مجموعه تکرارپذیر و به هرشی از این مجموعه یک Occurrence یا یک تکرار(و شاید رخداد) گفته می شود. با آوردن مثالهایی تعریف مزبور روشنتر خواهد شد.

     - اپیزودهای های یک مجموعه تلویزیونی، دارای یک کارگردان و یک نام هستند اما از داستانهای متفاوتی حکایت می کنند.

     - پروازهایی که از یک مبدأ خاص، به یک مقصد مشخص و در یک زمان مشخص از روز حرکت می کنند، دارای شماره پرواز یکسان هستند، اما در روزهای متفاوتی اتفاق می افتند و البته با مسافران و خدمه ای متفاوت.

     - نسخه های مختلف چاپ شده از یک کتاب در یک کتابخانه، دارای یک عنوان و نویسنده یکسان هستند، اگر چه نسخه های مختلف دارای بارکد متفاوتی بوده و توسط افراد مختلفی به امانت گرفته می شوند.

در طراحی چنین مجموعه هایی، مجبور هستید بدون Duplicate کردن اطلاعات مشترک، اعضای مجموعه تکرارپذیر را نمایش دهید و این اصلی است که باید رعایت شود.

الگوی Abstraction-Occurrence، روش مناسبی برای نمایش چنین مجموعه ای از تکرارهاست. در این الگو، یک کلاس «Abstraction» می سازید، که شامل اطلاعات مشترک تمامی اعضای تکرارهاست. پس از آن کلاس «Occurrence» را ایجاد می کنید که نماینده تکرارهای این Abstraction است. ارتباط این دو یک ارتباط (Association) و از نوع یک به چند است.

The Abstraction-Occurrence Pattern Sample

كلمات كليدي :

سال جدید و مهاجرت دوستی بسیار عزیز

نگارش شده در تاريخ : چهارشنبه, فروردین ۱۹, ۱۳۸۸ و ساعت : ۱۷:۴۳
ارسال شده در قسمت : عمومی

با این که خیلی دیر شده، سال جدید  را به همه عزیزانم تبریک می گویم. امیدوارم در سال جدید بیشتر از این ها بتوانم بنویسم.

یکی از تحولات بزرگی که  در سال جدید تأثیر زیادی در محیط کار داشت،

محروم شدن  از حضور عزیزی بود که  حدوداً از ۱۲ آذرماه ۸۴ تا چندی پیش ، هر روز کاری  ام را با  او  و تجربیاتش سپری کرده بودم و بسیار از او آموختم .

علی آقای گل ما تا ۲ روز دیگر (به قول  خودش) به نیمکره جنوبی مهاجرت خواهد کرد و مطمئناً  که  زندگی جدید و موفقی را آغاز خواهد کرد.

خداحافظی خوبی نبود،  شاید به این علت که واقعاً باورمان نمی شد که دیگر پیشمان نیستی،  امیدوارم که همیشه و همه جا موفق باشی، به امید دیدار دوباره.

كلمات كليدي :

استفاده از لیست ها در برنامه های کاربردی مبتنی بر SharePoint

نگارش شده در تاريخ : چهارشنبه, بهمن ۳۰, ۱۳۸۷ و ساعت : ۵:۱۳
ارسال شده در قسمت : DataBase, SharePoint, تکنولوژی

یکی از مهمترین تصمیم گیری ها در طراحی یک سیستم مبتنی بر SharePoint، اینست که اطلاعات را در دیتابیس جداگانه ای ذخیره کنیم یا اینکه از لیست های SharePoint جهت ذخیره سازی استفاده نماییم.

زمانی که SharePoint را در تیممان به عنوان Framework(البته SharePoint as a Framework نیز مساله کاملاً  بحث برانگیزی است)، برای بخشی از Application هایمان پذیرفتیم، این مسأله از مهمترین و اولین سوالاتی بود که  در ذهنم نقش بسته بود.

آنچه مسلم است اینست که هر کدام از راه  حل های فوق مزیت ها و معایب خود را دارند، که با توجه به صورت مسأله باید روش مناسب اتخاذ شود.

List ها در SharePoint دارای سطرها و ستونهایی هستند که همانند بانک های اطلاعاتی رابطه ای نظیر SQL Server، قابلیت ذخیره سازی داده را دارند.

بخشی از مزایای استفاده از لیست ها  عبارتند از:

  • SharePoint، از جمله Web Part های آن، متدهای ساده ای را برای کار با داده در لیست ها، در اختیار شما قرار می دهند. به عبارتی دیگر نیازی به توسعه لایه Data Access  احساس نمی شود.
  • طراحی لیست ها در SharePoint بسیار ساده است و نیازی به مهارت در طراحی و نگهداری دیتابیس ندارد.
  • Event handler ها و Workflow های سفارشی به سادگی برای این لیست ها Register می شوند.

از معایب استفاده از لیست ها می توان به موارد زیر اشاره کرد:

  • عدم پشتیبانی از Transaction (تا جایی که بنده اطلاع دارم)
  • لیست های SharePoint جهت پیاده سازی ساختار داده ای ساده پیش بینی شده اند. پیاده سازی مدل داده ای پیچیده با ارتباطات زیاد و پیچیده با استفاده از لیست ها، منطقی به نظر نمی رسد.
  • مسلماً خواندن و نوشتن در دیتابیس Performance بیشتری نسبت به  لیست ها دارد. استفاده از لیست ها در SharePoint، دارای سربار پردازش این لیست هاست که یقیناً در Performance تأثیرگذار است. جالب اینجاست که تیم نرم افزاری SharePoint نیز، ذخیره سازی تعداد بیش از ۲۰۰۰ رکورد را در یک لیست توصیه نمی کند. البته برای مقابله با این مساله، علما ترفندهای زیادی اندیشیده اند، که قابل بررسی است.

با این توصیفات پرواضح است که انتخاب راه حل به نوع صورت مساله وابسته است و حد و مرز SharePoint نیز در این راه حل کاملاً مشخص.

كلمات كليدي : , ,

تا چه حد به نحوه قضاوت های خود در مورد افراد اطمینان دارید؟

نگارش شده در تاريخ : جمعه, دی ۲۷, ۱۳۸۷ و ساعت : ۱۸:۰۷
ارسال شده در قسمت : عمومی

در دهه ١٩٢٠ دو محقق آمریکائی که در نیویورک زندگی می کردند به اسامی هیو هارتشورن (Hugh Hartshorne) و ام ا می (M. A. May) دست به مطالعه عظیمی زدند که طی آن ١١٠٠٠ دانش آموز را مورد مطالعه قرار دادند. هدف از این مطالعه بررسی در مورد مشخصه های رفتاری دانش آموزان و بخصوص بررسی میزان “صداقت” در افراد بود. مطالعه مزبور ماهها به طول انجامید و دهها تست در زمینه های مختلف از محصلین مورد مطالعه گرفته شد.

آنچه که “می” و “هارتشورن” به عنوان یکی از مهم ترین نتایج مطالعه بزرگ خود به آن دست یافتند این بود که “صداقت” عنصر ثابتی در شخصیت کودکان و نوجوانان نیست، بلکه خصیصه ایست که به شدت تحت تاثیر شرایط است.

در یادداشت های خود، دو روانشناس مزبور نوشتند، فرد می تواند در شرایطی دست به تقلب بزند در حالیکه در شرایط دیگر از دست زدن به آن خودداری کند. دروغ گفتن، تقلب و دزدی ممکن است از فردی در “شرایط” خاصی سر بزند در حالی که همان فرد در شرایط متفاوت بکلی از خود چهره ای متفاوت نشان می دهد. در مورد تست های انجام شده در سر کلاس یک دانش آموز ممکن بود در آزمایش ریاضی تقلب کرده باشد ولی در دیکته دست از پا خطا نکرده باشد.

این نکته شدیدا با عقاید متداول ما در تضاد است. چرا؟ قضاوت های ما در مورد اشخاص معمولا اینگونه است که “رفیق من، مهرداد خیلی بچه دست و دلبازی است” یا “دوست من، شهرزاد فوق العاده صمیمی و صادق است”. هرگز در مورد مهرداد اینگونه قضاوت نمی کنیم که مهرداد با رفقای خود که بیرون می رود بسیار دست و دلباز است اما در مورد خانواده خود سخت گیر و خسیس است و یا در مورد شهرزاد نمی گوئیم که با دوستانش صمیمی و صادق است اما سر کار هر طور شده کلکی جور می کند که از زیر کار در برود. مهرداد دست و دل باز است و شهرزاد صادق است. اینست گونه ای از قضاوت های ما در مورد افراد. مطالعات “می” و “هارتشورن” نشان داد که اینگونه قضاوت بکلی اشتباه است چرا که ما نقش شرایط و موقعیت را در بروز کاراکتر و مشخصه های رفتاری افراد ندیده می گیریم.

مطالعه این مقاله را از به شما هم توصیه می کنم. شاید در نحوه قضاوتمان در مورد افراد، تجدید نظر کنیم.

كلمات كليدي :