دانلود کتاب Fundamentals of OOP and Data Structures in Java

49,000 تومان

مبانی OOP و ساختارهای داده در جاوا


موضوع اصلی الگوریتم ها و ساختارهای داده
نوع کالا کتاب الکترونیکی
ناشر Cambridge University Press
تعداد صفحه 463
حجم فایل 11 مگابایت
کد کتاب 9780521662208,0521662206
نویسنده
زبانانگلیسی
فرمتPDF
سال انتشار2000
مطلب پیشنهادی: با پول کتاب در ایران چی میشه خرید؟
در صورت نیاز به تبدیل فایل به فرمت‌های PDF، EPUB، AZW3، MOBI و یا DJVU می‌توانید به پشتیبان اطلاع دهید تا در صورت امکان، فایل مورد نظر را تبدیل نمایند. سایت بَلیان دارای تخفیف پلکانی است، یعنی با افزودن کتاب بیشتر به سبدخرید، قیمت آن برای شما کاهش می‌یابد. جهت مشاهده درصد تخفیف‌ها بر روی «جدول تخفیف پلکانی» در پایین کلیک نمایید. جهت یافتن سایر کتاب‌های مشابه، از منو جستجو در بالای سایت استفاده نمایید.
شما می‌توانید با هر 1000 تومان خرید، ۱ شانس شرکت در قرعه‌کشی کتابخانه دیجیتال بلیان دریافت کنید و شانس خود را برای برنده شدن جوایز هیجان انگیز امتحان کنید. «شرایط شرکت در قرعه‌کشی»

جدول کد تخفیف

با افزودن چه تعداد کتاب به سبد‌خرید، چند‌ درصد تخفیف شامل آن خواهد شد؟ در این جدول پاسخ این سوال را خواهید یافت. برای مثال: اگر بین ۳ الی ۵ کتاب را در سبد خرید خود قرار دهید، ۲۵ درصد تخفیف شامل سبد‌خرید شما خواهد شد.
تعداد کتاب درصد تخفیف قیمت کتاب
1 بدون تخفیف 25,000 تومان
2 20 درصد 20,000 تومان
3 الی 5 25 درصد 18,750 تومان
6 الی 10 30 درصد 17,500 تومان
11 الی 20 35 درصد 16,250 تومان
21 الی 30 40 درصد 15,000 تومان
31 الی 40 45 درصد 13,750 تومان
41 الی 50 50 درصد 12,500 تومان
51 الی 70 55 درصد 11,250 تومان
71 الی 100 60 درصد 10,000 تومان
101 الی 150 65 درصد 8,750 تومان
151 الی 200 70 درصد 7,500 تومان
201 الی 300 75 درصد 6,250 تومان
301 الی 500 80 درصد 5,000 تومان
501 الی 1000 85 درصد 3,750 تومان
1001 الی 10000 90 درصد 2,500 تومان
توضیحات

ترجمه فارسی توضیحات (ترجمه ماشینی)

مبانی OOP و ساختارهای داده در جاوا

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

(1) کتاب و داوران قبلی در مورد کدهایی صحبت می کنند که می توانند از وب سایت ناشر دانلود شوند. ناشر دیگر چنین دانلودهایی را در دسترس قرار نمی دهد.

(2) با توجه به روش‌های طراحی نرم‌افزار، نویسنده «طراحی با قرارداد» را که برتراند مایر در سال 1997 در «ساخت نرم‌افزار شی‌گرا» از آن حمایت کرد، می‌پذیرد. این رویکرد تقریباً کنار گذاشته شده است، و “الگوها” رویکردی است که در حال حاضر تبلیغ می شود. نویسنده همچنین به یک روش طراحی پایبند است که پیام های شی را به شدت به عنوان دستور (روش هایی که حالت داخلی شی را تغییر می دهند) یا پرس و جو (روش هایی که وضعیت داخلی شی را گزارش می دهند) طبقه بندی می کند. هنگامی که زمان اجرای پشته ها فرا رسید، این پایبندی سخت او را در یک معضل قرار داد. به طور سنتی “popping” یک پشته منجر به هر دو موقعیت می شود: بالاترین مقدار توسط pop (مانند یک پرس و جو) برگردانده می شود و وضعیت داخلی پشته تغییر می کند (مانند یک دستور). برای پایبندی به دوگانگی فرمان/پرس و جو، نویسنده پاپ کردن را دو فرآیندی ساخته است. “Pop” وضعیت داخلی پشته را تغییر می دهد، بالاترین عنصر را در یک میدان داخلی ذخیره می کند و اندازه پشته را یک بار کاهش می دهد. با این حال، به منظور محدود کردن ظاهر شدن به وضعیت “فرمان”، بالاترین مقدار به کد فراخوانی گزارش نمی شود. درعوض، کاربر باید یک “پرس و جو” بعدی را صادر کند و مقدار بالاترین عنصر را درخواست کند. این پیاده سازی از تأثیری که چنین فرآیند دو مرحله ای در یک محیط رشته ای خواهد داشت غافل است. اگر thread_2 پس از باز شدن thread_1 فرمان pop صادر کند، اما قبل از پرس و جوی thread_1 برای بالاترین مقدار، بالاترین عنصر برای همیشه از بین خواهد رفت.

(3) نویسنده از کلاس های جاوا استفاده می کند که از آن زمان منسوخ شده اند. به عنوان مثال او از کلاس Vector استفاده می کند که کم و بیش با ArrayList جایگزین شده است.

(4) قرارداد نویسنده برای نام‌گذاری روش‌ها با قراردادهای رایج فعلی همخوانی ندارد. او برای «فرمان‌ها» از کلمات عملی مختلف و به دنبال آن یک اسم استفاده می‌کند که میدانی را که تحت تأثیر فرمان قرار می‌گیرد، توصیف می‌کند. برای “پرس و جوها” او نام را به یک اسم یا عبارت اسمی محدود می کند که مقدار فیلدی که برگردانده می شود را توصیف می کند. با این حال، اکنون بیشتر دیده می‌شود که «فرمان‌هایی» با نام «setField()» و «پرس‌وجوها» با نام «getField()» را ببینیم. بسیاری از IDE ها به طور خودکار نام روش ها را با استفاده از قرارداد نامگذاری “set” و “get” ایجاد می کنند.

به این دلایل دیگر نمی توانم کتاب را توصیه کنم.

Fundamentals of OOP and Data Structures in Java

After reading the first three chapters, I had to conclude that the book was too dated to use. Here are some of its problems:

(1) The book and previous reviewers speak of code that can be downloaded from the publisher’s web site; the publisher no longer makes such downloads available.

(2) With respect to software design methodologies, the author embraces “design by contract” which was championed by Bertrand Meyer in 1997 in “Object-Oriented Software Construction.” This approach has pretty much been left by the wayside, with “patterns” being the currently touted approach. The author also adheres to a design methodology which rigidly classifies object messages as being either commands (methods that change the internal state of the object) or queries (methods that report back on the object’s internal state). When it was time to implement stacks, this rigid adherence put him in a quandry. Traditionally “popping” a stack results in both situtations: the topmost value is returned by the pop (like a query) and the internal state of the stack is changed (like a command). To adhere to the command/query dichotomy, the author made popping a two-process. “Pop” changes the internal state of the stack, storing the topmost element in an internal field and reducing the size of the stack by one. However in order to restrict popping to “command” status, the topmost value is not reported back to the invoking code. Instead the user has to issue a subsequent “query” requesting the value of the topmost element. This implementation is oblivious to the impact that such a two-step process would have in a threaded environment. If thread_2 issues a pop command after thread_1 pops, but prior to thread_1 querying for the topmost value, the topmost element would be lost forever.

(3) The author makes use of Java classes that have since been deprecated. For instance he uses the Vector class, which has been more or less replaced by ArrayList.

(4) The author’s convention for naming methods isn’t in line with the current, prevailing conventions. For “commands” he uses various action words followed by a noun which describes the field being impacted by the command. For “queries” he restricts the name to a noun or noun phrase which describes the field value that’s being returned. However it is now more common to see “commands” named “setField()” and “queries” named “getField()”. Many IDE’s automatically create method names utilizing the “set” and “get” naming convention.

For these reasons, I can no longer recommend the book.

نظرات (0)

نقد و بررسی‌ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “دانلود کتاب Fundamentals of OOP and Data Structures in Java”