rayap
خلل زبان‌های شی-گرا این می‌باشد که همه آنان یک محفظه بدون نقص را با خود حمل می‌کنند . شما یک موز می‌خواستید البته چیزی که نصیبتان شد گوریلی به یار موز بود که باطن یک بیشه قرار داشت .

جو آرمسترانگ در کدنویس‌ها در عمل - نقطه نظراتی در هنر برنامه‌نویسی
انتزاع کار کشته می‌باشد . چیزی که اینجانب به آن آلرژی دارم، و چیزی که نسبت به آن عکس العمل نشان دادم این مزخرفات ده سال ۹۰ در رابطه CORBA، COM و DCOM بود . هر استارت‌آپی در آن بازه زمانی برای این‌که یک “Hello World” معمولی چاپ نماید از ۲۰۰ هزار فراخوانی متد به کارگیری می کرد . این عمل مضحک است! شما نمی خواهید برنامه‌نویسی باشید که با این چیزا رمز و کار داشته باشه .

برندن آیک در کدنویس‌ها در فعالیت - نقطه نظراتی در هنر برنامه‌نویسی
بسیاری از توسعه‌دهندگان نرم‌افزار و شرکت‌های نرم‌افزاری، تصور می‌نمایند که برنامه‌نویسی شی-گرا تنها خط مش معقول برای گسترش نرم‌افزار در این ایام میباشد . هر کسی که درباره برنامه‌نویسی شی-گرا مخالفتی انجام دهد بلافاصله با این واکنش رو‌به‌رو می شود که پیش‌روی “خرد جمعی” این صنعت قرار گرفته می‌باشد .

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

به عنوان برنامه‌نویسان و دانشمندان رایانه ما می بایست بیاموزیم که تعصب را کنار گذارده و بهترین رویه حل موجود را برای یک مساله تعیین کنیم .

امروزه، یک عدد از نقاط قوت PHP پشتیبانی از سبک‌های برنامه‌نویسی دستوری، تابعی، شی-گرا، رویه‌ای و انعکاسی هست .
PHP یک جعبه ابزار تبارک با ابزارهای دوچندان متنوع هست که قابلیت حل اکثری مسائل را به شیوه‌های متفاوت به وجود می آورد - خیر فقط یک شیوه!
**
به محض این که مساله گوناگون در یک برنامه را صرفا محدود به یک سبک از برنامه‌نویسی کنیم، قابلیت و امکان تاءمل خلاقانه را از خود صلب کرده و عملکرد بهینه‌ای نخواهیم داشت!**
یک
درس تاریخی کوچک یکی از بهترین طرق فهم یک سبک برنامه‌نویسی این است که به تکامل آن اعتنا کنیم .
عامل گسترش آن چه بوده می باشد؟ چه مشکلاتی با بقیه سبک‌های برنامه‌نویسی وجود داشت که نیاز به شیوه‌ای جدید حس می‌شد؟ یک نقص‌ در جهان حقیقی وواقعی بود یا تنها در محفظه دانشگاهی خلاصه می‌شد؟ و این که چه‌طور تکامل یافته است؟
کلیدی نمی باشد که شخص X چه میگوید یا این که فرد Y چه تعریفی ارائه می‌دهد، چیزی که اهمیت دارد محیطی میباشد که سیک‌های متعدد طی زمان در آن به وجود آمده‌اند .

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

چارلز آنتونی ریچاردز هور
در گذشته، پیشین از ظهور برنامه‌نویسی شی-گرا، تقریبا اواخر دهه ۱۹۵۰، نرم‌افزار با استفاده از زبان‌های برنامه‌نویسی گسترش می‌یافت که ساخت‌یافته نبودند، که گهگاه زمان ها به زبان‌های نسل اولیه و دوم نامیده میشوند . برنامه‌نویسی بدون ساختار (یا ساختار نیافته) به نظر تاریخی قدیمی‌ترین سبک برنامه‌نویسی می باشد . از این سبک به شدت برای تولید کد “اسپاگتی” نفد میشد .

برای این سبک برنامه‌نویسی زبان‌های مرحله بالا و پایین وجود داشتند . این زبان‌ها دربرگیرنده نسخه‌های اول TELECOMP، FOCAL، JOSS، MUMPS، COBOL، Basic، کد تراز ماشین، سیستم‌های نخستین اسمبلر (آن‌هایی که شامل عملگرهای رویه‌ای متا نبودند) و بعضا زبان‌های اسکریپتی می گردند .

برنامه‌ای در گویش سوای ساختار معمولا دربرگیرنده دستورها یا این که عبارت‌های ترتیبی و پشت رمز هم میباشد . خطوط معمولا دارنده شماره یا این که برچسب می باشند که امکان تغییر تحول جریان برنامه‌ را به گزیده دیگر ممکن می‌سازد (مانند عبارت فراموش گردیده GOTO) .

سپس،
در دهه ۱۹۶۰ برنامه‌نویسی ساخت‌یافته ظهور یافت - اغلب به ادله طومار معروف ادگار دایجسترا عبارت‌های Go To مضر هستند
برنامه‌نویسی ساخت‌یافته سبکی از برنامه‌نویسی هست که با استعمال از ساب‌روتین‌ها، ساختارهای بلاک و حلقه‌ها به وضوح، کیفیت و توسعه و گسترش نرم‌افزار امداد می‌نماید . این سبک در مقابل به کارگیری از عبارت GOTO برای پرش به قسمت‌های دیگر برنامه قرار می گیرد .

بعدها، برنامه‌نویسی رویه‌ای از برنامه‌نویسی ساخت‌یافته مشتق شد . برنامه‌نویسی رویه‌ای مبتنی بر مضمون‌ “فراخوانی رویه” می باشد . یک “فراخوانی رویه” نام دیگری برای “فراخوانی تابع” است . رویه‌ها همینطور به نام‌های روتین، ساب‌روتین یا متد شناخته می شوند . یک راه و روش صرفا دربرگیرنده برخی دستورات محاسباتی است که بایستی فراخوانی شوند . هر رویکرد می‌تواند در هر نقطه از برنامه هنگام اجرای آن توسط خود یا سایر رویه‌ها فراخوانی شود .

در ابتدا تمام رویه‌ها به تیتر داده سراسری در هر نصیب از برنامه قابل دسترس بودند . در برنامه‌های کوچک این نقص‌ حادی نبود، البته با پیچیده‌تر شدن برنامه و افزایش حجم آن، یک تغییر کوچک در یک قسمت از برنامه روی بقیه قسمت‌ها هم تاثیرگذار بود .

هیچکس قصد ساخت تغییر در برنامه‌ای با وابستگی‌های متفاوت را نداشت . یک تغییر کوچک در یک رویکرد سبب ساز به بروز سلسله‌ای از غلط در سایر رویه‌های مبتنی بر کد دارای اهمیت بودند .

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

در ابتدا از اشیا به این نام خاطره نمی‌شد، چرا که صرفا به عنوان حوزه‌های قطع از هم چشم می‌شدند . بعدها که وابستگی‌ها کاهش یافتند و رابطه بین رویه‌ها و متغیرهای یک حوزه به عنوان قسمت‌های منقطع در لحاظ گرفته شد، مفهوم “شی” و “برنامه‌نویسی شی-گرا” بوجود آمد .

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

بنابراین یک شی در اصل مجموعه‌ای از متغیرها و توابع هست که اکنون “ویژگی و متد” نامیده می شود .

شیوه‌ای که ویژگی‌ها و متدها باطن یک حوزه غیروابسته قرار میگیرند تعریف یک “کلاس” می‌باشد . وقتی که این کلاس مقداردهی نخستین شود، یک شی نامیده میشود .

اشیا می‌توانند به یکدیگر ارجاع داده شوند و با چنین ارجاعی، متدها (توابع) درونی می‌توانند با یکدیگر “ارتباط برقرار” کنند . اشیا همچنین می‌توانند متدهای سایر شی ها را “به ارث” ببرند که به این کار “وراثت” گفته می‌شود . این راهی برای به کار گیری مجدد از کد و امکان ساخت افزونه‌های منقطع از نرم‌افزار با استفاده از کلاس‌ها و رابط‌های عمومی میباشد . رابطه ها شی ءها به یک سلسله‌مراتب تازه ختم شد . معنا وراثت در سال ۱۹۶۷ برای زبان برنامه‌نویسی Simula 67 ابتکار شد .

اشیا همینطور می توانند متدهای سایر شی ءها را به ارث برده و سعی حساس آن را “بازنویسی” نمایند که به این مفهوم “چندریختی” گفته می شود .

این‌که چگونه این ایده‌های متعدد پیاده‌سازی می گردند از یک زبان برنامه‌نویسی به دیگری متفاوت می‌باشد .

برنامه‌نویسی شی-گرا در رابطه سازمان‌دهی کد نسبت به سبک‌های پیشین از خود می باشد . یک افزونه برای برنامه‌نویسی رویه‌ای به حساب می‌آید و در رابطه پنهان‌سازی داده (encapsulation) و خودداری از حوزه سراسری می باشد . درباره توسعه توابع با “قرض‌گرفتن” ساختار آن ها و تغییر عملکرد بدون تاثیر روی کد حساس میباشد (inheritance) . همچنین درباره دستکاری توابع سوای تغییر و تحول در کد مهم می باشد (polymophism) .



برچسب ها : سئو در مشهد،
تعداد بازدیدها : 2
،






آمار وبلاگ
  • کل بازدید : 87
  • بازدید امروز :10
  • بازدید دیروز : 2
  • بازدید این هفته : 12
  • بازدید این ماه : 55
  • تعداد نظرات : 0
  • تعداد کل پست ها : 17
  • افراد آنلاین : 1
امکانات جانبی
بالای صفحه

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