طراحی نرم افزار اندروید بر پایه روش MVC
دیدم در تایپیک دیگر بحث در مورد MVCموجب تغییر ماهیت تایپیک شد
گفتم یه تایپیک جداگانه برای این مورد بزنم .
اساتید لطف کنند با یه مثال عملی نحوه پیاده سازی MVCدر یکی از نرم افزارهای اندرویدی که در آ»وزش ها هست رو توضیح بدن
این یه تیکه کدی که میشه باهاش بحث رو شروع کرد. دوستان اگر ایرادی هست در منطق MVC اول تصحیحش کنن بعد بحث کنیم در موردش. راستی این کد شبیه PHP است اما صرفاً منظور PHP نبوده. همانطور که مشخصه کد کاملاً واضح هست. مثلاً در PHP بجای . از -> استفاده میشه اما من برای خوانایی بیشتر از همون . استفاده کردم. همینطور $ یعنی متغیر. و مثلاً PHP تایپ نداره اما من برای model تایپ گذاشتم.
// controller.php
class Controller {
private Model model;
public Constructor(){
model = new Model();
}
public function showUserInfo($userId){
$record = model.getUserInfo($userId);
render('someFile.php', $record);
}
}
// model.php
class Model {
public function getUserInfo($userId){
return getDatabase().query("SELECT name, family, age FROM users WHERE userid=$userId");
}
}
// someFile.php ( it can called View in MVC )
<div>
<span>Name is: <?= $record['name'] ?></span><br/>
<span>Family is: <?= $record['family'] ?></span><br/>
<span>Age is: <?= $record['age'] ?></span><br/>
</div>
و مثلاً اگر فرض کنیم دستور از وب سایت بیاد، اونوقت با صدا زدن url زیر در Browser باید خروجی رو ببینیم که در آن 3 شماره کاربری است که قصد داریم اطلاعاتش را ببینیم:
http://someDomain.com/Controller/showUserInfo/3
یکی از جاهایی که از نظر من روی مدل به خوبی کار کرده و در ورژن 3 که در حال توسعه هست و به زودی ارائه میده یک دگرگونی اساسی انجام داده و بهترین MVC رو پیاده کرده CakePHP هست ...
CakePHP فرمورکی هست که با استفاده از اون میتونید خیلی ویزار تر کد نویسی کنید و نیازی به کار های تکراری و حوصله سر بر نیست و خیلی چیز هایی که شما بهش نیاز پیدا میکنید رو پیش بینی کرده و در قالب های مختلف در دسترس تون قرار میده و خوبیش هم این هست که اوپن سوروس هست و شما کاملا میتونید از API هاش سر در بیارید چون خط به خط داکیومنت شده ...
برای اینکه یک درک از Model داشته باشید پیشنهاد میکنم اینجا رو حتما مطالعه کنید ...
من از روز اول تلاش کردم تا اندروئید که مینویسم رو نزدیک به MVC همین فریمورک طراحی کنم اما فعلا به دلیل عدم تسلط کافی و وقت کم نشده تا کار مفیدی روی این مورد انجام بدم ...
اگر سئوالی بود من در خدمت هستم
دوستان اگه تمایل دارن یه نمونه برنامه رو شروع کنیم که همگی روش نظر بدن و به یه جمع بندی کلی روی لایه های برنامه تو اندروید برسیم
استاد من درباره MVC مطالعه ای نداشتم ولی اونجور که از صحبتها برداشت کردم اینه که این یه روش برای تمیزتر کد نوشتن و عدم تداخل در کدهای مختلفه که به نظرم این موضوع(تمیز نوشتن نه خود MVC (چون گفتم MVC نمیدونم دقیق چیه)) یه بحثیه که به کل برنامه نویسی مرتبط میشه و مخصوص سرور یا اندروید و یا ... نیست.
الان که من دارم کار گروهی انجام میدم ، خیلی به مشکلاتی بر میخوریم که من یه جور کد نویسی میکنم و دوستم یه جور دیگه .
چون به هرحال این واقعیت رو نمیشه منکر شد که ما اگه بخوای این کارو ادامه بدیم،حتما نیاز پیدا میکنیم توی گروه های بزرگتر و با دیگران برنامه نویسی کنیم که این نیازمند اینه که چطور استاندارد تر ، تمیزتر و اصولی تر بنویسیم.
فکر کنم آموزش و یا بحث درباره این موضوع که چطور استاندارد بنویسیم که بخش های مختلف برنامه با هم قاطی نشن و همه متوجه بشن یا بعدا توی توسعه برنامه دچار مشکل نشیم، واقعا نیاز باشه.
حتی میتونه به شکل شبه کد باشه که از بحث یه زبان خاص خارج بشه
استاد ممنون میشم نظرشما و دوستان دیگه در این باره رو بدونم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .