ماژول نویسی چیست؟

ماژول نویسی چیست؟
تاریخ انتشار:

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

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

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

    در برنامه نویسی شی گرا، استفاده از رابط ها به عنوان یک الگوی معماری برای ساخت ماژول که به عنوان برنامه نویسی مبتنی بر رابط شناخته شده است.

    اصطلاحات

    دوره مونتاژ (مانند زبان های دات نت مثل C #، F# و یا ویژوال بیسیک دات نت) و یا بسته (که در Dart، go یا جاوا) است که گاهی اوقات به جای ماژول استفاده می شود. در پیاده سازی دیگر، این یک مفهوم کاملا جدا است، در پایتون یک بسته مجموعه ای از ماژول ها است، در حالی که در جاوا 9 آینده  معرفی مفهوم ماژولار جدید (مجموعه ای از بسته ها را با کنترل دسترسی پیشرفته) برنامه ریزی شده است.

    علاوه بر این، اصطلاح "بسته" سایر کاربردها در نرم افزار (مانند، بسته های دات نت نوگت). یک جزء یک مفهوم مشابه است، اما به طور معمول به یک سطح بالاتراشاره دارد. یک جزء از یک قطعه کل سیستم است، در حالی که یک ماژول یک قطعه از یک برنامه منحصر به فرد است. مقیاس اصطلاح "ماژول" به طور قابل توجهی بین زبان تغییر میکند؛ در پایتون آن را بسیار کوچک و هر فایل یک ماژول است، در حالی که در جاوا 9 آن به مقیاس بزرگ برنامه ریزی شده است ، که در آن یک ماژول مجموعه ای از چمدان، کیسه، که به نوبه خود مجموعه ای از فایل ها می باشد.

    شرایط دیگر برای ماژولار عبارتست از واحد که مورد استفاده در گویش پاسکال می باشد.

    پشتیبانی از زبان


    زبان هایی که به طور رسمی از مفهوم ماژول پشتیبانی می کنند شامل Ada, Algol , BlitzMax , C# , Clojure , COBOL , D , Dart , eC , Erlang , Elixir , F , F# , Fortran , Go , Haskell , IBM/360  Assembler , IBM i Control Language  (CL), IBM RPG , Java , MATLAB , ML , Modula , Modula-2 , Modula-3 , Morpho, NEWP , Oberon , Oberon-2 , Objective-C , OCaml ,  مشتقات مختلفی ازپاسکال  (Component Pascal , Object Pascal , Turbo Pascal , UCSD Pascal ), Perl , PL/I , PureBasic , Python , Ruby , Rust , JavaScript , Visual Basic .NET  and WebDNA .

    نمونه آشکار از زبان هایی که فاقد پشتیبانی از ماژولار ها هستند C،C++ ، و پاسکال (در فرم اصلی خود). همانطور که از سال 2014، ماژول برای C++  ارائه شده است. ماژول به زبان Objective-C در iOS 7 (2013) اضافه شد. و پاسکا ل توسط ماژولاسیون و اوبرون پشتیبانی می شود، که شامل ماژولار از همان آغاز است، و مشتقات مختلف که شامل ماژول های جایگزین شد. جاوا اسکریپت از 2015 ماژول های بومی متداول را دارد.

    برنامه نویسی ماژولار می تواند حتی در جایی که زبان برنامه نویسی فاقد ویژگی های صریح و روشن نحوی برای پشتیبانی از ماژول های به نام است، انجام شود. به عنوان مثال، IBM سیستم نیز از ماژول در هنگام برنامه نویسی در مجتمع زبان محیط زیست (ILE) استفاده می شود .

    جنبه های کلیدی 

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

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

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

    شما در پاسخ به

    نظر شما اضافه شد، اما ابتدا باید تایید شود.

    نظر خود را در مورد ثبت کنید
    لطفا نام خود را وارد کنید لطفا آدرس ایمیل خود را وارد کنید لطفا آدرس ایمیل معتبر وارد کنید لطفا یک نظری بنویسید
    افزودن نظر