مقدمه

پیش از این راجع به Bad Smell و کاربرد آن در مهندسی نرم افزار صحبت کردیم "صمیمیت نامناسب" یکی از 22 نوع Bad Smell میباشد.

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