چند سئوال پیرامون مفاهیم Module و Dependency

پرسیده شده
فعالیت 1412 روز پیش
دیده شده 917 بار
1

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

 

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

 

سئوال:

۱.

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

۲.

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

۳.

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

یعنی:

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

4:

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

5:

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

 

 

فایل پیوست

پژمان آزاد
پژمان آزاد

27 خرداد 99

0
حذف شده

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

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

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

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

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

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

پیروز باشی

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

27 خرداد 99

2
حذف شده

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

 

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

 

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

فایل پیوست

پژمان آزاد

توسط

پژمان آزاد

27 خرداد 99

حذف شده
درمورد این سوال نمیتونم نظر قطعی بدم پژمان ولی بنظرم همچین کاری پیش نمیادحداقلش ایران که تیمی مجبور باشه لایبرری بنویسه(با وجود دنیای لایبرری ها)
پوریا شفیعی

27 خرداد 99

حذف شده
به نظر میاد اصلی ترین هدف ماژولار کردن اپلیکیشن همین نکته‌ای باشه که آقا پژمان گفتن
Mohammad Golkar

21 فروردین 00

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

21 فروردین 00

حذف شده
ولی فکر می‌کنم باید به صورت سوال مستقل پرسیده می‌شد تا بهتر بهش بها داده می‌شد.
Mohammad Golkar

21 فروردین 00

1
حذف شده

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

 

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

فایل پیوست

پژمان آزاد

توسط

پژمان آزاد

28 خرداد 99

حذف شده
حقیقت امر این هست که من هم در تیمی در فضای کار اشتراکی هستم که چنین نیست که ماژول بندی کنند بلکه بر اساس فیچر های موجود در اپلیکیشن مثلا لاگین کردن مثلا صفحه خرید اینطوری کار ها تقسیم میشه و اون مورد رو اطلاعی ندارم و تا اینجای آموزش که ما دیدیم هم استاد از این ماژولار بندی استفاده نکردند و من فکر مینم بهترین روش برای یه تیم روش git Flow هست که بر اساس فیچر کار ها تقسیم بندی میشن(آشنا خواهی شد )
پوریا شفیعی

28 خرداد 99

حذف شده
کاش استاد به مدیریت ماژولار پروژه هم بپردازند، حالا یه به عنوان یه جلسه جدید ذیل همین سرفصل یه به عنوان یه سرفصل مستقل
Mohammad Golkar

21 فروردین 00