Каква е разликата между чистата и n-слойната архитектура?

Каква е разликата между чисто и n-tier архитектури?


person inf3rno    schedule 03.03.2014    source източник
comment
Това специфично за Ruby ли е?   -  person Fendy    schedule 04.03.2014
comment
Изчистената архитектура е силно свързана с ruby: youtube.com/watch?v=WpkDN78P884   -  person inf3rno    schedule 04.03.2014


Отговори (1)


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

  • n-tier архитектурата е за комуникация с базата данни чрез слоеве на бизнес логика и представяне. Той е тясно свързан с външните елементи (рамки/драйвери на трети страни), които искате да използвате, например към HTTP сървър, ORM или SQL драйвер...

  • Чистата архитектура е за прилагане на случаи на използване и изграждане на слоеве от адаптери и външни елементи (рамки/драйвери на трети страни) около тях. Той е слабо свързан с външните, които искате да използвате, поради слоя на адаптерите. Имайте предвид, че чрез чистата архитектура представянето и слоевете на базата данни ще бъдат включени от външните елементи. Така че чистата архитектура е повече за създаване на приложение и отделянето му от външните елементи, които използва, за да комуникира със своята среда. При този сценарий е много по-лесно да тествате, разработвате и поддържате кода на приложението. Не е нужно да пишете интеграционни тестове или да макетирате ORM, за да тествате бизнес логиката. Не е нужно да се притеснявате за външните фактори чрез прилагане на бизнес логиката, можете да се съсредоточите върху самото приложение. Не е нужно да променяте бизнес логиката, за да замените външна рамка/драйвер, достатъчно е да напишете нов адаптер, за да постигнете това.

Така че мисля, че чистата архитектура е по-добър избор.

person inf3rno    schedule 09.03.2014
comment
Връзката е прекъсната - person Bart VdA; 03.11.2019
comment
@BartVdA Можете да прочетете публикацията в блога тук: https://web.archive.org/web/20160531152617/https://subvisual.co/blog/posts/20-clean-architecture, но не мога да намеря коментарите. :S Махнах линка. - person inf3rno; 03.11.2019