+1 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.1هزار امتیاز)

در برنامه نویسی شئ گرا Fluent interface چیست و چه کاربردی دارد؟ آیا یک الگوی طراحی است؟

1 پاسخ

+4 امتیاز
قبل توسط (938 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

برای کد زنی قابل فهم تر و خواناتر کاربرد دارد. برای اولین بار سال ۲۰۰۵ توسط مارتین فاولر ارائه شد.

بصورت سلسله مراتبی و پشت سر هم دستورات مرتبط به هم زده میشود.

به عنوان مثال در روش سنتی برای اضافه کردن یکسری object به عنوان ورودی متد به یکسری object دیگر مانند زیر عمل میشد:

private void makeNormal(Customer customer) {
        Order o1 = new Order();
        customer.addOrder(o1);
        OrderLine line1 = new OrderLine(6, Product.find("TAL"));
        o1.addLine(line1);
        OrderLine line2 = new OrderLine(5, Product.find("HPK"));
        o1.addLine(line2);
        OrderLine line3 = new OrderLine(3, Product.find("LGV"));
        o1.addLine(line3);
        line2.setSkippable(true);
        o1.setRush(true);
    }

ولی در روش اراپه شده به شکل زیر بصورت سر راست تر عمل میشود :

private void makeFluent(Customer customer) {
        customer.newOrder()
                .with(6, "TAL")
                .with(5, "HPK").skippable()
                .with(3, "LGV")
                .priorityRush();
    }

fluent interfaceها جز الگوهای طراحی استاندارد و شناخته شده نیستند و صرفا یک نوع پیاده سازی API های شی گرا می باشند.

http://martinfowler.com/bliki/FluentInterface.html

سوالات مشابه

+1 امتیاز
1 پاسخ 4.1هزار بازدید
0 امتیاز
3 پاسخ 3.2هزار بازدید
0 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
1 پاسخ 4.4هزار بازدید
+2 امتیاز
2 پاسخ 1.9هزار بازدید
+2 امتیاز
2 پاسخ 3.6هزار بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
+1 امتیاز
1 پاسخ 442 بازدید
+1 امتیاز
1 پاسخ 2.9هزار بازدید
...