پست تنها



معماری نرم افزار

نرم افزار های بدون معماری سقوط می کنند

دلیل سقوط نرم افزار های خوب هنگام درخواست توسعه چیست؟

آیا روشی وجود دارد که برای توسعه نرم افزارهای خود بدون نگرانی دست به کار شویم؟

معماری چگونه به توسعه برنامه های شما کمک می‌کند

نرم افزار های خود را آسان تر از همیشه بنویسید

بدون معماری چگونه کد نویسی می کنید؟

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

نرم افزار بدون معماری مانند یک ساختمان بدون پی است

بدون معماری چه می شود

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

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

از فاجعه ها جلوگیری کنید

معماری نرم افزار چگونه به شما کمک می کند

هنگامی که یک نرم افزار با معماری ایجاد می کنید حداقل مزایایی که بدست می آورید را برای شما بر می شماریم:
– کدهای بخش بخش نرم افزار شما بسیار تمیز و خوانا خواهند بود
– کدهای شما حداقل به سه دسته تقسیم می شوند، یک بار آنها را می نویسید و در سراسر برنامه خود از آنها استفاده می کنید
– به دلیل جلوگیری از نوشتن کدهای تکراری، و بدون پیچیدگی بودن کدها، سرعت برنامه نویسی شما بسیار بیشتر خواهد شد.
– توسعه و ایجاد تغییرات در نرم افزار برای شما آسان و لذت بخش خواهد بود
و موارد بسیار زیاد دیگر که هنگام استفاده از معماری بهتر آنها را درک خواهید کرد.

در هر برنامه کد ها به سه دسته تقسیم میشوند

تقسیم بندی کدهای خود را بشناسید

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

کدها را رنگ بندی می کنیم تا بهتر از آنها استفاده کنیم

کدهای آبی، قرمز و سبز ؟؟؟

کدها به سه دسته ی آبی قرمز و سبز تقسیم می شوند. کدهای آبی آنهایی هستند که به طور معمول به آنها نیاز دارید و به آنها کدهای نرم افزاری گفته می شوند. در هر کسب و کاری قوانین خاصی وجود دارد. کدهای مربوط به این قوانین به رنگ قرمز شناخته می شوند. در نهایت هر نرم افزار نیاز دارد که داده و اطلاعات خود را دستکاری کند(حذف، اضافه، ایجاد تغییرات و نمایش) این کد ها به رنگ سبز شناخته می شوند

کدهای زرد هم وجود دارند

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

با مزیت عمده برنامه نویسی سه لایه آشنا شوید

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

با جدا سازی داده ها از رفتار می توانید از هر لایه برای توسعه نرم افزار خود در پلتفرم های دیگر استفاده کنید. به شما نشان خواهیم داد که در قسمت آبی چطور از ویندوز اپلیکیشن، موبایل ، وب یا حتی کنسول استفاده کنید.
در قسمت کد های قرمز از dll ها و وب سرویس ها استفاده می کنید. در قسمت سبز نیز از dll ها و وب سرویس ها استفاده کنید.
و در قسمت زرد از Entity Framework ، LINQ to SQL و ADO.Net استفاده کنید.

هنگام صحبت کردن با مشتری رنگ بندی صحبت های او را استخراج کنید

شکار رنگ بندی کدها در هنگام مصاحبه

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

با این روش به راحتی کدهای مربوط به قسمت سبز آبی قرمز و زرد را پیدا می‌کنید و در جای مناسب خود قرار می دهید.
برای مثال جدول انسان را در بانک اطلاعاتی SQL قرارداده و کلاس انسان را به قسمت فقط دیتا را به بخش زرد هدایت می کنیم .
سپس جدول انسان را در قسمت سبز نیز با کلاس انسان تعریف می‌کنیم .
بعد از آن جدول انسان را باکلاس انسان در قسمت قرمز پیاده سازی می کنیم .
مجدداً در در بخش آبی قسمت نمایشی فرم‌های مربوط به کلاس انسان پیاده‌سازی می‌شوند .
و در تمام رنگ ها به جز رنگ زرد متد های کراد را ایجاد خواهید کرد
در انتها مفاهیم تجارت و مفاهیم مربوط به قسمت کاربری به شما آموزش داده می شود.

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

معماری سه لایه در هر حالتی

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

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

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