نمایش نتایج 1 تا 7 از 7

نام تاپیک: Coupling و Separation of concerns و Design by contract

  1. #1

    Coupling و Separation of concerns و Design by contract

    با عرض سلام خدمت دوستان و اساتید محترم

    من در مورد سه واژه Coupling و Separation of concerns و Design by contract که در نرم افزار مطرح هستند راهنمایی می خواهم.

    در این مورد سه متن را نیز ترجمه کرده ام ولی هنوز مفهوم آنها را درک نکرده ام. مقاله و یا کتاب آموزشی الکترونیکی نیز در مورد آنها به فارسی پیدا نکرده ام. از دوستان تقاضای راهنمایی دارم.


  2. #2

    نقل قول: Coupling و Separation of concerns و Design by contract

    کانترکت رو در حالت ساده شده میتونی همون سیگنچر متد ها بدونی.
    توی design by contract ، کانترکت رو برای همه اعضای مهم کلاس مینویسید حتی اگه پابلیک هم نباشند.
    همچنین یک بخش invariants داره که چیزهایی رو تعریف میکنه که state اونها نباید قبل و بعد از یک متد تغییر کنه.

    این کتاب رو مراجعه کن. کسی هست که کلا این موضوع رو مطرح کرده:
    http://www.amazon.com/Object-Oriente.../dp/0136291554
    اون دوتای دیگه که نوشتی هم همه شون به هم ربط دارند همراه با coherence .

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

  3. #3

    نقل قول: Coupling و Separation of concerns و Design by contract

    با سلام خدمت شما جناب JaguarXF گرامی</p>
    اگر یادتان باشد شما این سه واژه را در بحثی تحت عنوان "راهنمایی در مورد آینده شغلی" و در یکی از پست هایتان به صورت لینک مطرح کردید.

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

    می خواستم به خودتان پیام خصوصی بدهم که در این سه زمینه من را راهنمایی بفرمایید ولی تصمیم گرفتم که به صورت یک پست مستقل مطرح کنم.

    من لیسانس نرم افزار هستم ولی تا به حال این سه واژه را نه درون کتاب هایم خوانده ام و نه از دهان اساتیدم شنیده ام. تنها چیزهایی که از شیء گرایی آموخته ام همان کپسوله سازی، چند ریختی و ارث بری است.

    شما در آن پست من را با این سه واژه آشنا کردید. حالا نمی دانم اینها با سه مبحث کپسوله سازی، چند ریختی و ارث بری چقدر ارتباط دارند.

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

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

    آن کتابی را که شما لینک ان را در پست قبلی دادید که پولی است. آیا راهی برای دانلود مجانی آن وجود دارد؟


    با تشکر فراوان

  4. #4

    نقل قول: Coupling و Separation of concerns و Design by contract

    آقا قربون دستت اون پستت رو ویرایش کن ! یه چیزی در حد "میشه بیشتر توضیح بدی" کفایت میکنه!
    من با معدل 14-15 به زور یه لیسانس گرفتم!
    /
    کتاب رو pdf ندارم . خودشو داشتم برای درس . بعدش هم طبق معمول دست دوم فروختمش!
    /
    این هم برای DBC توی گوگل دیدم . خوب بود . نگاهی بنداز : راحت مثال زده قدم به قدم.
    http://www.javaworld.com/javaworld/j...ls.html?page=1
    /
    قبل از همه اینها ، پیشنیاز " "آشنایِ" با UML .

    موفق باشی.د

  5. #5

    نقل قول: Coupling و Separation of concerns و Design by contract

    با سلام. دستتون درد نکنه. می بخشید که اذیت شدید ولی من یک بار دیگر متن را خواندم اما اشکال تایپی پیدا نکردم تا ویرایش کنم
    آخرین ویرایش به وسیله قله بلند : سه شنبه 03 آذر 1388 در 12:07 عصر

  6. #6
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    36
    پست
    1,546

    نقل قول: Coupling و Separation of concerns و Design by contract

    نقل قول نوشته شده توسط قله بلند مشاهده تاپیک
    Coupling
    به معنای میزان ارتباط بین اجزای (ماژول ها، کلاس ها، کامپوننت هاو ...) نرم افزار هستش. یعنی اینکه اجزا چقدر به هم وابسته هستند و با هم درگیر هستند تا کارشون رو انجام بدن. هرچی این وابستگی (Coupling) بیشتر باشه سیستم درهم تر و پیچیده تر میشه و نگهداری و اعمال تغییر و گسترشش هم سخت تر میشه.

    نقل قول نوشته شده توسط قله بلند مشاهده تاپیک
    Separation of concerns
    این یک دید و یا فلسفه فکری هست. یک الگو که به شما میگه سعی کن در حل مسله (طرح راه حل) اون موضوع هایی که به هم ربط ندارن رو جدا ببینی! یعنی اینکه بتونی مواردی که به هم وابستگی ندارند رو جدا طرح و حل کنی. نه اینکه موضوع های مختلف رو باهم قاطی کنی. این کار موضوعیت (Cohesion) رو بالا میبره.
    این لغت خیلی جا ها تو علم نرم افزار به کار میره و هر جا به طور خاص به موضوع خاصی اشاره می کنه. به طور کلی می تونی ویکی رو ببینی.


    نقل قول نوشته شده توسط قله بلند مشاهده تاپیک
    Design by contract
    این مفهوم رو آقای B. Meyer ابداع کرد و به طور ساده می خواد بگه که برای هر چیزی که طرح می کنید به طور مشخص و دقیق بگید که چیکار می کنه (چه انتظاری ازش میره)، چه ورودی ای میگیره و شرایط اجراش چیه؟ (Precondition) و اینکه بعد از اجراش وضعیت سیستم (خروجیش) چیه؟ (Postcondition)
    اجراش چه تاثیری تو سیستم میزاره؟ (Side effects) و...
    دقیقش رو اینجا می تونی بخونی.
    این مقاله هم قشنگه.

  7. #7
    کاربر دائمی آواتار piroozman
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    سن
    44
    پست
    214

    نقل قول: Coupling و Separation of concerns و Design by contract

    ضمن تقدیر و تشکر از دوستان، توصیه میکنم مقاله زیر را در خصوص Design by contract مطالعه کنند:
    http://www.se-topics.ir/topicview?id=40

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •