+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 پاسخ 3.8هزار بازدید
0 امتیاز
3 پاسخ 2.8هزار بازدید
0 امتیاز
2 پاسخ 987 بازدید
+1 امتیاز
1 پاسخ 4.3هزار بازدید
+2 امتیاز
2 پاسخ 1.7هزار بازدید
+2 امتیاز
2 پاسخ 3.2هزار بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
+1 امتیاز
1 پاسخ 325 بازدید
+1 امتیاز
1 پاسخ 2.8هزار بازدید
...