ПредишенСледващото

Ето един пример. Има функция Foo. което е необходимо за прехвърляне на две свойства на две различни обекти. Тук възниква въпросът как да се предаде правилно тези свойства - директно или да прехвърляте обекти, а след това в тялото на имотите да се възползват от тях?

Ясно е, че от гледна точка на практичност по-добре първо опция. Но кой вариант ще даде възможност за правилното подход програмирането и принципите обектно-ориентиран SOLID? Няма ли да е първият вариант им противоречат?

настроен 03 ноември '15 13:21

Добави особености: Тази функция добавя запис на масата. Този пост ще покаже "приятелството" на двама членове, това е, както от параметрите е идентификаторът на двете вписвания от масата потребители. Така че - това, което е по-добре: като параметрите на тази функция, за да преминат веднага или потребителски обекти? След като зададе въпроса по-общо, защото мисля, че въпросът е от значение за много ситуации. - raskopin 03 ноември '15 в 13:40

Препоръки от привържениците на чист код е съвсем ясно - право да прехвърлят най-малко зависимост, което означава, че по-скоро, отколкото данните обектите, в които се съдържат тези данни. Колкото по-малка функция изисква познаването на външния свят, толкова по-лесно е да се тества и поддържа. Това е теорията.

На практика често има подобен въпрос "Ами ако трябва нещо друго и трябва да се промени подпис" или "дали prokinut текст IP или IPADDRESS, има ValueObject за ПР".

Така че е по-добре да се започне с минимум договор, но се вземат предвид настоящите и бъдещите изисквания на функцията, тоест, колко трудно е да се промени подписа, за да добавите полета или подмяна на обекта и характеристиките на данните на обекта.

Отговорени 3 ноември '15 18:52

Основният принцип - принцип на целесъобразност. Защо да прехвърли цялата обекти, когато е необходимо само индивидуалните си качества? Особено семантика: да речем, си функция (или по-скоро метод) добавя две числа и ти се обадя да го обобщим. Навсякъде около ясна, тя добавя, че не всеки разбира защо обекти.

Друго нещо, ако имате намерение да използвате в бъдеще, както и други свойства на тези обекти. После се приближи Правилните обекти.

Отговорени 3 ноември '15 13:28

правилните параметри предаването на функцията - стек преливане на Руски

Minusanul защото отговорът не обмисля всички варианти, но само специален случай. Освен това, този конкретен случай, на практика не се случва много често. - Razzwan 03 ноември '15 в 13:31

Също така бих искал да видя отговор, който ще обхване всички възможни варианти. Ако вече пиша, ми се иска да се запасите на кафе и здрав клавиатура. - Мик 03 ноември '15 в 13:40

Свързани статии

Подкрепете проекта - споделете линка, благодаря!