فصل 1 کتاب Clean Architecture : طراحی و معماری چیست؟

 

 

کتاب معماری تمیز

در طول سالیان همیشه میان طراحی و معماری ابهام وجود داشته است. طراحی چیست، معماری چیست و تفاوت میان آن دو چه چیزی است؟

یکی از اهداف این کتاب کنار زدن این ابهامات بوده و یک بار برای همیشه تعریف میکند که طراحی و معماری چه هستند. اما فکر میکنم برای تازه کاران در این زمینه مطلقا هیچ تفاوتی میان این دو وجود ندارد!

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

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

در آن تصمیماتی را میتوان دید که تعیین میکنند دیوارها، سقفها و ستونها چگونه باید ساخته شوند.

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

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

هدف چیست؟

هدف از آن تصمیمات و معماری نرم افزار خوب چیست؟ هدف همان شرایط ایده آل به شرح زیر است:

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

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

این متن فقط قسمتی از فصل 1 کتاب Clean Architecture می باشد.

2 پاسخ

تعقیب

  1. […] برای مطالعه قسمتی از فصل 1 بر روی لینک کلیک کنید. ( لینک )فصل 2: داستان دو ارزشفصل 3: بررسی اجمالی الگوهای برنامه […]

  2. […] و معماری چیست؟ برای مطالعه قسمتی از فصل 1 کلیک کنید. ( لینک ) فصل 2: داستان دو ارزش فصل 3: بررسی اجمالی الگوهای برنامه […]

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *