برنامه نویسی

6 منابع مرجع – جامعه dev

1 عبارات لامبدا و کاهش کد

  • Lambdas استفاده از تماس های برگشتی عملکردی و رابط هایی مانند ActionListener را ساده می کند.

  • اصطلاح پاسخ به تماس به عملکردی اشاره دارد که به عنوان یک آرگومان برای یک عملکرد/روش دیگر منتقل می شود و معمولاً در پاسخ به یک رویداد یا عمل ، در بعضی مواقع فراخوانی می شود.

  • مشکل عمودی را از بین ببرید (بسیاری از خطوط برای اقدامات ساده).

2 ساختن همه کاربران تعدیل کننده

  • با Lambda می توانیم برای هر کاربر یک روش تماس بگیریم و تماس بگیریم:

usuarios.forEach(u -> u.tornaModerador());

  • این می تواند با استفاده از روش مرجع ساده شود:

usuarios.forEach(Usuario::tornaModerador);

3 مرجع روش Entendendo

  • نحو این است: کلاس :: روش ، بدون پرانتز.

  • روش foreach انتظار مصرف کننده را دارد و کاربر :: MakerDeador متناسب با این نوع عملکردی است.

Consumer tornaModerador = Usuario::tornaModerador;
usuarios.forEach(tornaModerador);

4 مزیت مرجع روش

  • این به عنوان یک بیان لامبدا کار می کند ، اما مختصر تر است.

  • از بازتاب استفاده نمی کند ، یعنی بر عملکرد تأثیر نمی گذارد.

  • در زمان تدوین بدون سربار اضافی حل شد.

مقایسه حتی لاغر تر

1 ساده سازی مقایسه با مرجع روش

  • ما می توانیم لیستی از کاربران را با استفاده از مقایسه کننده. comparating با یک عبارت lambda سفارش دهیم:

usuarios.sort(Comparator.comparing(u -> u.getNome()));

  • این می تواند با استفاده از روش مرجع ساده شود:

usuarios.sort(Comparator.comparing(Usuario::getNome));

بایگانی: SimplificandCompan.java

2 بهبود خوانایی با واردات استاتیک

  • ما می توانیم کد را در هنگام واردات استاتیک مقایسه کننده مسلط و قابل خواندن تر کنیم و عملکرد را برای یک متغیر استخراج کنیم:

import static java.util.Comparator.comparing;
Function byName = Usuario::getNome;
usuarios.sort(comparing(byName));

3 مزیت رویکرد

  • کد لاغر و قابل خواندن.

  • از پرانتزهای غیر ضروری در لامبدا خودداری کنید.

  • سیالیت و وضوح بهتر با نامگذاری عملکرد مقایسه (نام).

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا