۳ پژمان آزاد
چند سئوال پیرامون مفاهیم Module و Dependency
پوریا شفیعی حل شده توسط پوریا شفیعی

با احترام فراوان

 

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

 

سئوال:

۱.

تفاوت ساختار اولی با ساختار دومی درچیست؟ تشخیص این دو از هم در ظاهرچگونه هست؟(اگر پوشه زیپ پروژه ای رو به ما بدن بگن بدون باز کردن درون اندروید استودیو تشخیص بده که این پروژه یه پروژه قابل اجرای استاندارد و معمولیست یا یک لایبرری؟ هر دو هم میتونن یه پوشه بنام library داشته باشن و یه پوشه بنام app ) 

۲.

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

۳.

آیا یک لایبرری رو که در قالب dependency به پروژه اد کردیم رو میشه بعنوان ماژول هم استفاده کرد؟ تفاوت استفاده به روش اول و دوم در چیه؟ یعنی چه زمانی یه لایبرری رو باید بصورت dependency به پروژه مون اضافه کنیم و چه زمانی بصورت یک ماژول؟

یعنی:

اد کردن یک لایبرری در قالب dependency چه تفاوت کاربردی با اد کردن اون در قالب یک ماژول داره؟  از کجا بفهمیم یک لایبرری در قالب dependency بیشتر بدر پروژمون میخوره یا استفاده بعنوان ماژول؟

4:

یک پروژه تا چند ماژول به این شکل میتونه داشته باشه و به هر ماژول چند لایبرری میتونه depend بشه و اگر چند ماژول در پروژه داشته باشیم، تشخیص اینکه کدوم لایبرری باید به کدوم ماژول depend بشه چگونه است؟

5:

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

 

 

سلام و احترام دارم خدمتتون پژمان عزیزم

ببین وقتی ما لایبرری رو در قالب یه ماژول ادد میکنیم میتونیم اون لایبرری رو کاستومایز کنیم و تغیراتی انجام بدیم و سفارشی سازی کنیم(مخصوص خیلی حرفه ای ها) 

بر خلاف وقتی که لایبرری رو در build.gradl امپلیمنت میکنیم .

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

در مورد چطوری میشه پیش نمایش لایبرری رو دید در صفحه گیت هاب هر لایبرری پیش نمایش اون لایبرری هم اکثر مواقع گذاشتن و میتونین ببینین.

و اینکه چقدر لایبرری میشه به پروژه اضافه کرد اینطور بگم که هر تعداد که بخاین در build.gradle میتونین اضافه کنین.

پیروز باشی

بهترین پاسخ
پوریا شفیعی ۲۷ خرداد ۱۳۹۹، ۱۵:۰۵

سلام. ممنونم پوریای عزیزم. یه سئوال دیگه پیش اومده واسم.

 

در پروژه هایی که بصورت تیم ورک کار میکنن میشه پروژه رو به چند ماژول تقسیم بندی کرد و هر کس یه ماژول رو بنویسه و در انتها ماژولها ضمن import شدن به پروژه depend بشن به ماژول اصلی و از کلاسهاشون استفاده کرد؟

 

اگر جواب مثبته. روش کار چگونس. و اینکه اگر ماژولی بر عهده من باشه صفر تا صد انجام و export لایبرری و ارسال برای مدیر تیم چگونه هست؟

پژمان آزاد ۲۷ خرداد ۱۳۹۹، ۱۹:۴۲

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

 

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

پژمان آزاد ۲۸ خرداد ۱۳۹۹، ۰۶:۰۷