برنامه نویسی ماژولار چیست

برنامه نویسی ماژولار چیست؟

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

این مقاله دارای قسمت­های زیر است:
ماژول یعنی چه؟
مفهوم برنامه نویسی ماژولار
چگونه ماژولار برنامه نویسی کنیم؟
مزایای برنامه نویسی ماژولار چیست؟
*سرعت زیاد
*آسان تر کردن
*آپدیت و تغییر راحت تر
*تست آسان تر
نظر شما چیست؟


ماژول یعنی چه؟

ماژول یعنی چه برنامه نویسی ماژولار

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

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


مفهوم برنامه نویسی ماژولار

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

ما ایرانی ها از قدیم با مفهوم ماژولار بودن آشنایی داشته ایم؛ ضرب المثل “قطره قطره جمع گردد، وانگهی دریا شود” دقیقا از همین مفهوم سرچشمه میگیرد.(:D). برای اینکه مفهوم ماژولار بودن برنامه نویسی را بهتر درک کنید، یک نمونه سازی انجام میدهیم.

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

مفهوم برنامه نویسی ماژولار

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

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


چگونه ماژولار برنامه نویسی کنیم؟

چگونه برنامه نویسی ماژولار داشته باشیم؟

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

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

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


مزایای برنامه نویسی ماژولار چیست؟

مزایای برنامه نویسی ماژولار

سرعت زیاد

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


آسان تر کردن

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


آپدیت و تغییر راحت تر

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


تست آسان تر

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


نظر شما چیست؟

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


منابع بیشتر برای مطالعه

15 دیدگاه دربارهٔ «برنامه نویسی ماژولار چیست؟»

  1. بازتاب: زیر و بم معماری پلتفرم اندروید | برنامه چی | Barnamechi

  2. بازتاب: اندروید NDK هرچیزی که لازم است بدانید + آموزش نصب | برنامه چی

  3. سلام و خسته نباشید بابت مطلب خوبتون.
    من تصمیم گرفتم که برم سمت طراحی وب که با انتخاب زبان کمی به مشکل برخوردم که کدوم رو انتخاب کنم.
    خواستم نظرتون رو در این مورد بپرسم که شما چه زبانی، چه فریمورکی و چه IDE رو پیشنهاد میکنید؟
    در ضمن من html و css هم کار کردم و تقریبا مسلط هستم.

    1. سلام دوست عزیز. برنامه نویسی وب الان دیگه به سمت فرم ورک های جاوا اسکریپت مخصوصا React و Vue جلو رفته. میتونین از این فریم ورک ها استفاده کنین که به روز بمونین. برای IDE هم Visual Studio و Visual Studio Code فکر کنم برای این کار قوی ترین هستن.

  4. سلام وقتتون بخیر خسته نباشید.ضمن تشکر بابت مطلب خوب و ارزشمندی که منتشر کردید خواستم ازتون راجب شروع برنامه نویسی اندروید راهنمایی بگیرم.من امسال کنکور دادم و در انتخاب رشته تمام انتخاب هام مهندسی کامپیوتر بود.این چند روزه که توی سایتای مختلف راجب چگونگی شروع برنامه نویسی اندروید واسه افراد مبتدی تحقیق کردم به جواب سر راستی نرسیدم.یه عده میگفتن واسه اینکه با منطق برنامه نویسی |آشنا بشی بهتره از زبان برنامه نویسی C شروع کنی.یه عده میگفتن نیاز نیست برو ++C یاد بگیر خیلی خوبه یه عده میگفتن نه پایتون یاد بگیر آسون تره.یه عده میگفتن جاوا یاد بگیر یه عده میگفتن نه جاوا سخته اول html،css،js یاد بگیر بعد برو جاوا که به مشکل بر نخوری یه عده هم میگفتن اصلا جاوا یاد نگیر برو کاتلین یاد بگیر به دلیل اینکه گوگل زبان رسمی اندروید رو کاتلین معرفی کرده باز هم یه عده دیگه گفتن نه واسه یاد گرفتن کاتلین باید جاوا رو یاد بگیری بعد بری کاتلین یاد بگیری.خلاصه اینکه هزار راه واسه شروع وجود داره اما هنوز نمیدونم کدوم راه بهتره.خیلی ممنون میشم اگر بهم کمک کنید و راهی نشونم بدید که بتونم برنامه نویسی اندروید رو عالی شروع کنم.لطفا اگر زبان برنامه نویسی معرفی کردید یک منبع خوب واسه یادگیری از کیلومتر صفر هم معرفی کنید و اگر نبود لطفا پیشنیاز هاشو معرفی کنید.با تشکر.

    1. سلام محمد عزیز. خسته نباشی.
      خوشحالم که تصمیم گرفتی تو زمینه برنامه نویسی اندروید شروع به فعالیت کردی و علاقه داری برای اینکه ادامه بدی. به عنوان کسی که نزدیک به ۱۰ ساله تو حوزه برنامه نویسی اون هم تو حوزه های مختلف دارم کار میکنم، بهت پیشنهاد میکنم همیشه برای ساخت برنامه ها از پلتفرم ها، IDE ها و زبان های برنامه نویسی استاندارد استفاده کنی.
      برای اندروید خیالت رو راحت کنم، هیچ راه استاندارد و مطمئن و کاملی به جز محیط برنامه نویسی اندروید استودیو و زبان جاوا هنوز معرفی نشده. زبان رسمی برنامه نویسی اندروید جاوا و کاتلین هستن، برای یادگیری کاتلین هم زیاد لازم نیست کاری انجام بدی، چاوا رو که یاد بگیری خیلی از کاتلین رو هم یاد گرفتی. بیشتر از اینها، جاوا یک زبان شی گرا هست که اگر مفاهیمش رو درست یاد بگیری، حدودا ۶۰ درصد از انرژیت برای یادگیری زبان جدید حفظ میشه و خیلی راحت تر زیان های بعدی رو یاد میگیری.
      در مورد اندروید استودیو و جاوا هم توی همین برنامه چی یا سایت های انگلیسی زبان میتونی منابع خوبی رو پیدا کنی و استفاده کنی. باز هم اگر سوالی بود من در خدمتم.

      1. ممنون از اینکه وقت گذاشتید و راهنمایی کردید.چند سوال دیگه هم داشتم ممنون میشم اگر راهنمایی کنید.شما واسه شروع یادگیری الگوریتم و فلوچارت رو پیشنهاد میکنید؟خودتون واسه شروع این مبحث رو یاد گرفتید؟خودتون از کجا شروع کردید؟چون از چند نفر پرسیدم گفتن یهو وارد جاوا نشو به مشکل بر میخوری به نظرتون خوبه با ++C شروع کرد و بعد برم جاوا؟عجله ای واسه شروع ندارم و میخوام مطمئن ترین راه رو واسه شروع انتخاب کنم.ممنون میشم اگر وقت بزارید و راهنمایی کنید خیلی دوست دارم شروع کنم.

        1. سلام مجدد.
          برنامه نویسی نیاز به یه طرز تفکر کاملا مرحله ای و خاص داره، که شاید همه نتونن اون دید رو به مسائل داشته باشن (یعنی اکثر افراد اینجوری هستن). یعنی اگر شما برنامه نویس هستین و میخواین یه برنامه بنویسین که یک کار مشخص رو انجام بده، باید به همه گوشه ها و همه ریزه کاری ها و همه مرحله های اون هم فکر کنی. الگوریتم و فلوچارت به درک پایه ای برنامه نویسی به شما خیلی کمک میکنن و میتونن این دید رو براتون درست کنن. همه کارهایی که انجام میدیم دارای الگوریتم و فلوچارت خاص خودشون هستن. برای برنامه نویسی هم همینه. یعنی اگر عجله ای ندارین این مفاهیم رو یاد بگیرین و بعد دنبال جاوا بیاین.
          در مورد زبان C++ هم باید بگم که این زبان برای یادگیری خیلی خوبه و خیلی قدرت بالایی داره، اما یادگیری جاوا زیاد منافاتی نداره با اینکه C رو بلد باشی یا نه. مثلا من الگوریتم و فلوچارت و کمی از زبان c بلد بودم و بعدش اندروید رو شروع کردم یاد گرفتم (البته قبلش هم چندین سال تجربه طراحی وب داشتم).

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

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

  5. بازتاب: جلسه نهم - تعیین کننده سطح دسترسی جاوا یا Modifier در جاوا | برنامه چی

  6. بازتاب: اندروید NDK هرچیزی که لازم است بدانید + آموزش نصب | برنامه چی

  7. بازتاب: کتابخانه (Library) چیست؟ بررسی کتابخانه ها در اندروید | برنامه چی

دیدگاه‌ خود را بنویسید

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

اسکرول به بالا