برچسب:
نویسنده: سجاد شمس
مقدمه
ابتدا مقدمهای در مورد کلاسهای abstract میآوریم. از کلاسها نمیتوان یک نمونه ساخت؛ اما سوال این است که چرا ما به کلاسهایی نیاز داریم که نمیتوان یک نمونه از آنها ایجاد کرد؟ این کلاسها قابلیت ارثبری دارند، به طور کلی نمیتوان از آنها یک نمونه ایجاد کرد، ولی کلاسهای دیگر میتوانند از آن به ارث برسند.
ادامه مطلب
برچسب:
نویسنده: سجاد شمس
برچسب: الگوی طراحی composite,
نویسنده: سجاد شمس
برچسب:
نویسنده: سجاد شمس
برچسب:
نویسنده: سجاد شمس
برچسب:
نویسنده: سجاد شمس
حوزه: Object
هدف: Creational
نقش الگو
در زمانی که نیاز به شیهای مشابه باشد و ساخت هر شی منابع زیادی از سیستم را اشغال کند، این الگو طراحی میتوان گزینه مناسبی باشد تا یک کپی از شی مورد نظر برای ما ایجاد نماید. در واقع میتوان گفت مزیت الگوی طراحی Prototype سرعت بالاتر آن است بدلیل اینکه کپی کردن یک شئ از ایجاد یک نمونه جدید شئ سرعت بیشتری دارد.
ادامه مطلب
برچسب:
نویسنده: سجاد شمس
برچسب:
نویسنده: سجاد شمس
حوزه: Class
هدف: Behavioral
نقش الگو
بعضی از مردم نمیتوانند زندگی را بدون قهوه تصور کنند و بعضی دیگر زندگی را بدون چای نمیتوانند تصور کنند. ولی جزء تشکیل دهنده اصلی هر دو کافئین است. شباهتهای دیگر نیز بین این دو مورد وجود دارد. روش ساخت هر دوی آنها تقریبا مشابه است. شما اغلب موارد به ترتیب زیر عمل میکنید.
ادامه مطلب
برچسب:
نویسنده: سجاد شمس
اصل اول: Encapsulate what varies
"آنچه را که تغییر میکند مشخص و جدا کن یا به عبارتی آنرا کپسوله کن"
برای آنکه بتوانیم کدی منعطف، قابل استفاده مجدد و خوانا داشته باشیم، ابتدا باید بخشهای ثابت و متغیر کد را تشخیص دهیم و کاری کنیم تا بخش ثابت، بدون تکرار در جای جای برنامه استفاده شود و سپس برای بخش متغیر برنامه ریزی کنیم.
برچسب:
نویسنده: سجاد شمس
معمولاً انتخاب یک License برای انتشار پروژههای اوپن سورس و یا محتوا کار سختی به نظر میرسد؛ برای همین تصمیم گرفتم تفاوت لایسنسهای رایج را بررسی نموده و آنها را طوری مطرح کنم که همه سریع و راحت بتوانند متوجه بشوند:
ادامه مطلب
برچسب:
نویسنده: سجاد شمس
جاوا دارای قابلیت بارگذاری پویا میباشد، یعنی در زمان اجرای یک برنامه وقتی که به یک کلاس احتیاج میشود آنرا بارگذاری میکند. که میتوان اصطلاحا Lazy Loading هم نامید که در ORM هایی مثل Hibeate هم استفاده میشود. Class Loader ها کلاسهای شامل بایت کدها را در یک منطقهای به اسم Runtime Data Areas قرار میدهد و موتور اجرا کننده (Execution Engine) بایت کدها را اجرا میکند.
ادامه مطلب
برچسب:
نویسنده: سجاد شمس
حوزه: Object
هدف: Structural
نقش الگو
یک الگوی رایج که توسط کلاینتهای SOA استفاده میگردد، الگوی Facade است. الگوی Facade برای ساده سازی واسط یک زیر سیستم یا گروهی از زیرسیستمها به کار میرود و به کلاینت، یک API ساده و شفاف میدهد تا با سایر APIها سازگار باشد.
ادامه مطلب
برچسب:
نویسنده: سجاد شمس