کتاب A Functional Approach to Java (رویکردی کاربردی به جاوا: تقویت کد جاوا شی گرا با اصول عملکردی) در 15 فصل به صورت کاربردی و عملیاتی آموزش زبان محبوب جاوا را شزح خواهد داد.
در ادامه مقدمهای از کتاب A Functional Approach to Java را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب A Functional Approach to Java:
چرا این کتاب را نوشتم؟
پس از استفاده از یک زبان چندمنظوره دیگر با پشتیبانی عالی از برنامهنویسی کاربردی – Swift – و با دیدن فواید آن، به تدریج اصول کاربردی بیشتری را در پروژههای مبتنی بر جاوا خود نیز معرفی کردم. به لطف عبارات لامبدا و تمام ویژگیهای دیگر معرفی شده در جاوا 8 به بعد، همه ابزارهای لازم به راحتی در دسترس بودند.
اما پس از استفاده مکرر از این ابزارها و بحث در مورد آنها با همکارانم، به چیزی پی بردم: نحوه استفاده از لامبدا، استریم، و همه چیزهای کاربردی دیگر ارائه شده توسط جاوا به راحتی قابل درک است. اما بدون درک عمیقتر از اینکه چرا و چه زمانی باید از آنها استفاده کنید – و چه زمانی نباید استفاده کنید – پتانسیل کامل آنها را باز نخواهید کرد و فقط “شراب جدیدی در پوستههای شراب قدیمی” خواهد بود.
بنابراین تصمیم گرفتم این کتاب را بنویسم تا مفاهیم مختلفی را که یک زبان را کاربردی میکنند و اینکه چگونه میتوانید آنها را در کد جاوا خود بگنجانید، با ابزارهای ارائه شده توسط JDK یا با ایجاد خودتان، برجسته کنم. یک رویکرد کاربردی به کد جاوا شما به احتمال زیاد وضعیت موجود را به چالش میکشد و برخلاف بهترین شیوههایی است که قبلا استفاده میکردید. اما با پذیرش روشی کاربردی تر برای انجام کارها، مانند تغییر ناپذیری و توابع خالص، میتوانید کدهای مختصر، معقول تر و مطمئن تر بنویسید که کمتر مستعد اشکال هستند.
چه کسی باید کتاب A Functional Approach to Java را بخواند؟
اگر در مورد برنامهنویسی کاربردی کنجکاو هستید و میخواهید بدانید که این همه هیاهو در مورد چیست و آن را در کد جاوا خود اعمال کنید، این کتاب برای شما مناسب است. ممکن است در حال حاضر از برخی از انواع کاربردی جاوا استفاده کرده باشید، اما مایلید دانش عمیق تری در مورد چرایی و نحوه استفاده موثرتر از آنها داشته باشید.
نیازی به داشتن یک متخصص در OOP نیست، اما این کتاب یک راهنمای مبتدی برای جاوا یا OOP نیست. شما باید از قبل با کتابخانه استاندارد جاوا آشنا باشید. هیچ دانش قبلی از برنامهنویسی تابعی مورد نیاز نیست. هر مفهومی با توضیح و مثال معرفی میشود.
کتاب A Functional Approach to Java جاوا 17 را به عنوان آخرین نسخه پشتیبانی طولانی مدت (LTS) در دسترس در زمان انتشار پوشش میدهد. با دانستن اینکه بسیاری از توسعه دهندگان باید از پروژههایی با نسخههای قبلی پشتیبانی کنند، خط پایه کلی LTS قبلی، جاوا 11 خواهد بود. اما حتی اگر در جاوا 8 گیر کرده باشید، بسیاری از موضوعات مورد بحث مرتبط هستند. با این حال، برخی از فصلها به ویژگیهای جدیدتری مانند Records که در جاوا 14 معرفی شدند، تکیه میکنند.
کتاب A Functional Approach to Java ممکن است برای شما مناسب نباشد اگر به دنبال کتابی جزئی و به سبک دستور العمل هستید که راه حلهای “آماده برای اجرا” را ارائه میدهد. هدف اصلی آن معرفی مفاهیم و اصطلاحات کاربردی و آموزش نحوه گنجاندن آنها در کد جاوا است.
آنچه شما یاد خواهید گرفت:
در پایان کتاب A Functional Approach to Java، شما دانش اساسی در مورد برنامهنویسی تابعی و مفاهیم زیربنایی آن و نحوه به کارگیری این دانش در کارهای روزانه خود خواهید داشت. هر نوع عملکردی جاوا در اختیار شما خواهد بود و در صورت لزوم میتوانید هر چیزی را که در JDK وجود ندارد بسازید.
شما با مفاهیم و اهمیت جنبههای زیر برنامهنویسی تابعی آشنا خواهید شد:
- ترکیببندی
بلوکهای مدولار و قابل ترکیب آسان بسازید.
- بیانگر بودن
کد مختصرتری بنویسید که به وضوح مقصود خود را بیان کند.
- کد ایمنتر
ساختارهای داده ایمن تری را بدون عوارض جانبی ایجاد کنید که نیازی به مقابله با شرایط مسابقه یا قفل ندارند، که استفاده از آنها بدون معرفی باگ دشوار است.
- مدولار بودن
پروژههای بزرگتر را به ماژولهای قابل مدیریتتر تقسیم کنید.
- قابلیت نگهداری
از بلوکهای عملکردی کوچکتر با اتصال کمتر برای ایجاد تغییرات و بازآفرینی ایمنتر بدون شکستن سایر بخشهای کدتان استفاده کنید.
- دستکاری داده
خطوط لوله دستکاری داده کارآمد با پیچیدگی کمتر بسازید.
- کارایی
تغییرناپذیری و پیشبینیپذیری به شما این امکان را می دهد که بدون فکر زیاد در مورد آن به صورت افقی با موازی سازی مقیاس بندی کنید.
حتی بدون عملکرد کامل، کد شما از مفاهیم و اصطلاحات ارائه شده در این کتاب بهره خواهد برد. و نه تنها کد جاوا شما. شما با یک طرز فکر کاربردی با چالش های توسعه مقابله خواهید کرد و برنامهنویسی خود را بدون توجه به زبان یا پارادایم مورد استفاده بهبود می بخشید.
سرفصلهای کتاب A Functional Approach to Java:
- Preface
- I. Functional Basics
- 1. An Introduction to Functional Programming
- 2. Functional Java
- 3. Functional Interfaces of the JDK
- II. A Functional Approach
- 4. Immutability
- 5. Working with Records
- 6. Data Processing with Streams
- 7. Working with Streams
- 8. Parallel Data Processing with Streams
- 9. Handling null with Optionals
- 10. Functional Exception Handling
- 11. Lazy Evaluation
- 12. Recursion
- 13. Asynchronous Tasks
- 14. Functional Design Patterns
- 15. A Functional Approach to Java
- Index
جهت دانلود کتاب A Functional Approach to Java میتوانید پس از پرداخت، دریافت کنید.