انسجام بالا یک الگوی ارزیابی است که سعی می کند اشیاء را به طور مناسب متمرکز، قابل مدیریت و قابل درک نگه دارد. چسبندگی بالا به طور کلی برای پشتیبانی از Low Coupling استفاده می شود.
اصطلاح cohesion برای نشان دادن درجه ای که یک طبقه دارای مسئولیت واحد و کاملاً متمرکز است استفاده می شود. cohesion معیاری است که نشان میدهد چگونه روشهای یک کلاس یا یک ماژول به طور معنادار و قوی مرتبط هستند و تا چه اندازه در ارائه یک هدف کاملاً تعریف شده برای سیستم متمرکز هستند.
چگونه کلاس ها را متمرکز، قابل درک و قابل مدیریت نگه داریم؟
مسئولیت ها را به گونه ای تعیین کنید که انسجام بالا باقی بماند. سعی کنید از کلاس هایی برای انجام کارهای بسیار متفاوت اجتناب کنید.
در این مثال، هدف کلاس MyReader خواندن resource ها است و فقط این کار را انجام می دهد. موارد غیر مرتبط دیگر را اجرا نمی کند. از این رو بسیار منسجم است.
class HighCohesive {
// -------------- functions related to read resource
// read the resource from disk
public String readFromDisk(String fileName) {
return "reading data of " + fileName;
}
// read the resource from web
public String readFromWeb(String url) {
return "reading data of " + url;
}
// read the resource from network
public String readFromNetwork(String networkAddress) {
return "reading data of " + networkAddress;
}
}
برای مطالعه ی ادامه مطالب به لینک مراجعه کنید.