Що означає "дизайн за течією / вгору за течією" в розробці програмного забезпечення?
Що означає "дизайн за течією / вгору за течією" в розробці програмного забезпечення?
Відповіді:
Компоненти вгору за течією - це інші частини системи, від яких залежить ваш компонент для виконання своєї роботи. Якщо конструкція компонента вище за течією змінюється, може вплинути на здатність вашого компонента функціонувати. Якщо у верхньому потоці компонента є помилка, ця помилка може виявлятися у вашому компоненті.
Компоненти, розташовані нижче, - це частини системи, на які ваш компонент може вплинути. Зміни вашого компонента можуть перетворюватися на компоненти, що знаходяться нижче від вашого компонента.
Розглянемо додаток, що складається з рівня бази даних та рівня додатків. Рівень бази даних вважатиметься вище за рівень додатка.
Вгору за течією = вгору по криниці (походження програмного забезпечення) вниз за течією = вниз до океану (випадки використання)
Розробники з відкритим кодом, які "вниз за течією" будують додатки та інструменти на готових продуктах. Ті, хто перебуває вище за течією, насправді працюють над продуктами, які потрібно випустити.
Якщо ви розробляєте програмне забезпечення: від вас залежить стабільність розвитку вгору. А ті, хто працює над вашим програмним забезпеченням, - це розробники нижче.
Я думаю, що це більше інженерний жаргон програмного забезпечення, ніж англійський, але те, як я розумію це "дизайн нижче", розробники додатків беруть уже розроблені інструменти та використовують їх для завершення своєї програми. Використання вже створених бібліотек програмного забезпечення, де рішення про те, які можливості бібліотеки вже приймалися, було прийнято нижче.
З "дизайном вгору", розробник програми консультується та бере участь у розробці бібліотек ще до того, як робота над додатком навіть справді розпочалася. Наприклад, якщо ви будете програмною компанією, яка зосередиться на аудіо програмному забезпеченні, наприклад, вам може знадобитися розробити бібліотеки для покриття спектру програмного забезпечення, яке ви плануєте розробляти. Було б непогано мати можливість, щоб розробники бібліотек сідали з розробниками додатків, щоб розробники додатків могли надавати вклад у те, що вони хочуть.
Верхній потік є більш пристосованим, що робить його значно дорожчим, але потенційно дає кращий кінцевий продукт.