امکانات انجمن
  • مهمانان محترم می توانند بدون عضویت در سایت در بخش پرسش و پاسخ به بحث و گفتگو پرداخته و در صورت وجود مشکل یا سوال در انجمنن مربوطه موضوع خود را مطرح کنند



iran rules jazbe modir
snapphost mahak

پست های پیشنهاد شده

Design Patternها یکسری جواب های ثابت شده به مشکلات رایج در طراحی هستند. به وسیله آنها می توان یکسری راهکار برای حل مسائل بازگشتی در طراحی برنامه تعریف کرد. به طور واضح، Design Patternها کدهای آماده ای نیستند که بتوان مستقیماً از آن ها استفاده کرد. اما یسکری رویکرد یا نظریه برای حل چالش های عادی طراحی ارائه می دهند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

telegram channel   jazbe modir

Design Pattern

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

 

 Design Pattern چیست؟

 چرا باید از Design Patternها استفاده کنیم؟

 چه زمانی باید از Design Patternها استفاده کنیم؟

 چند الگو وجود دارد؟

در اولین سری از آموزش های Design Pattern سعی خواهیم کرد به این سوالات پاسخ دهیم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Design Pattern چیست؟

Design Patternها یکسری جواب های ثابت شده به مشکلات رایج در طراحی هستند. به وسیله آنها می توان یکسری راهکار برای حل مسائل بازگشتی در طراحی برنامه تعریف کرد.
به طور واضح، Design Patternها کدهای آماده ای نیستند که بتوان مستقیماً از آن ها استفاده کرد. اما یسکری رویکرد یا نظریه برای حل چالش های عادی طراحی ارائه می دهند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

 چرا باید از Design Patternها استفاده کنیم؟

دلیل استفاده از آنها واضح است. چرا باید چرخ را دوباره اختراع کنیم؟ در حالیکه جواب های کاربردی، تست شده و مستند برای یکسری مسائل بازگشتی رایج داریم.
باید از design pattern ها برای طراحی و توسعه اجزاء (componentها) ای استفاده کنیم که مجدداً قابل استفاده و مقیاس پذیر بوده باشند و به تیم برنامه نویسی کمک کنند تا عملیات توسعه در زمان مقرر و با کیفیت بالاتری به انجام برسد.
طراحی یک برنامه به شکل استاندارد یا تست شده به سایر توسعه دهنده گان و کسانی که کدهای برنامه را قرار است مرور کنند، اجازه می دهد به راحتی مفهوم کدهای نوشته شده را درک کنند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

 چه زمانی باید از Design Patternها استفاده کنیم؟

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چند الگو وجود دارد؟

هیچ عدد مشخصی برای تعداد الگوها وجود ندارد. چرا که این الگو ها در طول زمان تکامل یافته و توسط سازندگان نرم افزار ها مورد استفاده قرار گرفته و بررسی شدند. بررسی این الگوها توسط یک گروه چهار نفره منصوب به Gang Of Four انجام شد. علاوه بر این نگاهی بر اصول طراحی SOLID خواهیم داشت.
به طور خلاصه، با چند اصل اولیه طراحی نظیر: کد نویسی تمیز (clean coding)، loose coupling و طراحی modular و غیره، طراحی خود را آغاز کنید و چالش های طراحی را با مسائل شناخته شده و موجود در Design Patternها ارزیابی کنید. پس از آن، اگر به الگوی مناسبی رسیدید، ادامه دهید و در غیر اینصورت به همان طراحی خودتان اکتفا کنید. 
به عنوان آخرین نکته یادآور می شوم هرگز برنامه خود را مجبور به استفاده از Design Patternها نکنید و تنها زمانی که به آنها نیاز دارید به سراغ آنها بروید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Singleton

در این مقاله قصد داریم مهمترین بخش از Design Pattern به نام Singleton را توضیح دهیم.

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

 چه زمانی نیاز داریم که یک نمونه از کلاس ساخته شود؟

خیلی وقت ها نیاز است که فقط یک نمونه از یک کلاس ساخته شود. مثلاً وقتی که نمی خواهیم وضعیت شی تغییر کند و یا می خواهیم class را به صورت stateless نگه داریم.
به عنوان مثال زمانی که می خواهید یکسری داده های master را یکجا بارگذاری کنید و اجازه دهید مصرف کنندگان داده به جای فراخوانی های متعدد، با ساخت یک نمونه از کلاس، یک فراخوانی به یک کلاس Singleton داشته باشند.
در حالت کلی، در هر برنامه Enterprise پیچیده، می توان به کلاس های Repository و لایه Data Access به صورت Singleton نگاه کرد. درحالیکه معمولاً نمی خواهیم وضعیت در این لایه ها حفظ شود.
از جمله مثال های دیگر می توان به بحث log گیری، تنظیمات (configuration)، Caching و غیره اشاره کرد که می توان آن ها را به صورت Singleton پیاده سازی کرد. چرا که نیاز به یک نقطه مرکزی و سراسری خواهیم داشت تا به این کلاس ها دسترسی داشته باشیم.
گذشته از توضیحات فوق، دیده شده است که برخی از برنامه نویسان بی تجربه یکسری نمونه های اضافی می سازند که نه نتها باعث سربار حافظه می شوند، بلکه کارایی برنامه را تحت تاثیر قرار می دهند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چرا کلاس های static

به دلایل مختلفی نباید از کلاس های static استفاده کنیم. برخی از این دلایل عبارتند از:

 

 موارد مختلفی هست هست که می خواهید Interface ها را در یک کلاس پیاده سازی کنید (برای مثال پیاده سازی IOC- بعداً به توضیح IOC خواهم پرداخت) و به جای پیاده سازی کلاس به صورت static، آن را به صورت Singleton پیاده سازی می کنیم.

 در صورت نیاز، می توانید از یک کلاس singleton به صورت پارامتر یک متد استفاده کنید درحالیکه نمی توان این کار را با کلاس static انجام داد.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری


  • مطالب مشابه

    • توسط  Rednofozi
      سلام  اولین برنامه هست که بنده برای تیم نوشتم این برنامه بسیار خطرناک هست با اجراش روی ویندوز  تمام کد های سیستم برای ایمل بنده فرستاده میشه  فقط کافیه  این سفت به قربانی بدید  و   تا ببیند اطلاعاتش چگونه استخراج میشود و پس از پایان استراج سی پی یو هارد  قربانی میسوزد   سایت هیچ گونه  مسولیتی در قبال این بد افزار  ندارد و اگر خواستید ایمیل خودتون قرار بدید باید سورس کدش با  برنامه  سورس کد کپی بردارید  از اونجا تغیر بدید و   روی سیستم شخصی به هیچ عنوان اجرا نکنید روی ماشین مجازی تست کنید یا حق
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
       
    • توسط  Black_petya
      با سلام به کاربران anonysec در این بخش به شما اموزش محیط if در زبان batch را یاد خواهم داد این بخش اخرین بخش اموزش است خب با زبان batch میتوانید برنامه چند سلوشنی را بسازیم مثلا میتوانیم برنامه چند کاره بسازیم به کد های زیر توجه کنید .
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
      کد های بالا توجه کنید یه برنامه است که میتوایند هم باهاش دیداس بزنید یا  keylogger را فعال کنید خب به کد ها توجه کنید title ما برای گذاشتن تایتل به برنامه خود از کد title name استفاده میکنیم و به if ها توجه کنید مثلا گفیم وقتی طرف 1 را وارد کرد بره به دیداسر و 2 را وارد کرد برود به کیلاگر خب با برای تعریف کردن کد های عملکر باید : اسم  if خود را بزارید و کد ها را بنویسید و در اخر cls را بنویسی و بعد باز : keylogger را وارد کنید و کد ها را باز بنویسید و بعد در اخر cls و pause > nul استفاده کنید و میتوانید با این روش برنامه های تحت امنیت خود را افزایش کنید .
      با تشکر.
    • توسط  Black_petya
      خب باسلام و عرض ادب به کاربران گرامی anonysec قسمت دوم batch porgramming را میخواهم برای شما یاد دهم در این قسمت با متد ها set  اشنا خواهید شد .
      خب الان توضیحاتی با رابطه متد set میخواهم بدهم , در زبان batch یکی از مهمترین عامل ها متد set است این متد برای دادن ویژگی یا داشتن کاربرد برنامه استفاده میشود مثلا به کد زیر توجه کنید .
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
      مثلا کد های بالا کد های یک کیلاگر هست مثل جلسه اول اول @echo off وارد کردیم شما در این قسمت کد های cls را دیده اید cls را اگر در cmd تایپ کنید clear history خواهد شد و از اول یک cmd پاک برای شما باز خواهد شد به این علت برای اینکه برانه اول باز شود cls را وارد میکنیم و در پایین از set /p استفاده کردیم ما برای تایین متغیر های نوع رشته ای متنی یا string اول باید set /p بنویسیم و یک اسمی به متغیر خود بگذاریم بعد جلوی اسم متغیر خود از کاربر اطلاعاتی را درخواست کنیم
      بعد از اینکه به سطر پایین رفتیم باز از set /p استفاده کرده ایم برای دریافت رمز عبور برای ذخیره کردن اطلاعات طرف باید از کد echo %anon% : %sec% >> key.txt  را منویسیم تا اطلاعات کاربرا در فایل text ذخیره کند و دستور color که استفاده شده است دستور رنگ برنامه است برای دیدن رنگ های زیاد در cmd دستور color asss بزنید  برای شما تمامی ترکیب ها غیر ترکیب هارا نمایش خواهد داد پس در این قسمت ما اد متد set استفاده کردیم تا از کاربر اطلاعاتی را بگیریم شما هم میتوانید با اموختن این زبان ویروس ویا کرم های خود را انتشار دهید تا قسمت بعدی خدا حافظ در قسمت بعدی با محیط if اشنا خواهید شد .
      تمامی حق کپی برداری بر anonysec است و هرگونه کپی رایت پیگرد قانونی دارد .
    • توسط  Black_petya
      این روز ها برنامه های تحت کنسول افزایش پیدا کرده است که بسیاری از هکر ها از اسکریپت نویسی های از جمله shell - batch - python - ruby - prel -... استفاده میکنند ولی بهتر است از زبان batch استفاده میکنند خب منم میخوام شما را با batch اشنا کنم , فرض کنید مثلا رفتید به اداره ای چیزی یا کتاب خانه ای شما میتوانید با دستگاه هایی که کتاب جست و جو میکنند هک کنید , روی دستگاه یک فایل نوت پد بسازید و کد های برنامه یا ابزار خود را توش بنویسید و با ان ابزار اقدام به زدن دیداس , یا هک کنید , من این کار را در سیستم های دانشگاه ازاد تبریز انجام دادم و موفق به هک کردن سرور ها شدم زبان batch از دستورات cmd فقط پشتیبانی میکند مثلا به تکه کد زیر دقت کنید و این را بدانید که فرمت فایل های batch به صورت .bat میباشد یعنی فقط قابل تحت اجرای داس یا cmd میباشد.
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
      ما اگر این کد را در نوت پد پیست کنید و با فرمت .bat سیو کنید .
      توجه به کد ها داشته باشید ما برای اینکه برنامه خود را شروع کنیم اول از دستو @echo off استفاده کرده ایم بعد برای رفتن به ستر زیر از کد echo. استفاده کردیم توجه داشته باشید اگر کد .echo را زیر echo [email protected] قرار ندهیم برنامه با مشکل مواجه خواهد شد برای نمایش متن هم میتوانید از کد echo استفاده کنید که اصولا این کد متن را نمایش میدهد یا print خب به هر حال و توجه داشته باشید pause > nul هم باید در اخر کد های برنامه اتان بنویسید زیرا اکر از این کد استفاده نکنید برنامه اجرا شده و خودکار پس از 1 ثانیه بسته خواهد شد , نوعی از این کد هم در زبان سی شارپ به صورت زیر بود .
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
      ولی به جای این کد از کد ساده ای یعنی کد زیر استفاده میشود ولی باید  در batch  به اخر برنامه خود این کد را اضافه کنیم.
      برای مشاهده ی این بخش لطفا وارد حساب کابری خود شوید یا اگر عضو نیستید از این قسمت عضو سایت شوید
      خب امید وارم خوشتان امده باشد در این قسمت با متد های متنی و متد های read key اشنا شدید انشلاه جلسه بعد با متد های دستوری set و color اشنا خواهید شد .
  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.