- Hands-On Artificial Intelligence on Amazon Web Services
- Subhashini Tripuraneni Charles Song
- 293字
- 2021-06-24 12:48:46
Understanding the architecture design principles for AI applications
Building elegant applications is not trivial, but building elegant AI applications can be even harder. As AI practitioners in a rapidly changing technology landscape, it's important to understand good architecture design principles and to have a passion for software craftsmanship since it takes relentless discipline to build and maintain applications that can adapt to the fast-evolving AI technologies. Good architecture design can easily adapt to changes. However, it is impossible to predict all future changes. Therefore, we need to rely on a set of well-accepted design principles to guide us on good application architecture. Let's go over them now:
- A well-architected application should be built on top of small services with focused business capabilities. By small, we don't necessarily mean a small amount of code. Instead, small services should follow the single responsibility principle; that is, to do one or very few things well.
- These small services are much easier to implement, test, and deploy. They are also easier to reuse and to compose more business capabilities.
- A good application architecture should have well-defined boundaries to enforce separation of concerns.
- The services and components of the application should maintain this separation by hiding internal implementation details from the others.
- This separation allows services and components to be replaceable with minimal impact on the rest of the application, thus supporting easier evolution and improvement of the solution.
If you are new to software architecture design, the differences between good and bad designs might appear subtle. It will take you a lot of experience to acquire the knowledge and skills you need to truly appreciate good design. In this book, we will provide you with examples of elegant designs that are good starting points for AI applications.
- 手把手教你學(xué)AutoCAD 2010
- 網(wǎng)上生活必備
- 微型計(jì)算機(jī)控制技術(shù)
- 電腦上網(wǎng)直通車
- AutoCAD 2012中文版繪圖設(shè)計(jì)高手速成
- 網(wǎng)絡(luò)綜合布線設(shè)計(jì)與施工技術(shù)
- 嵌入式操作系統(tǒng)
- 菜鳥起飛系統(tǒng)安裝與重裝
- 單片機(jī)C語言應(yīng)用100例
- 悟透AutoCAD 2009案例自學(xué)手冊
- 嵌入式GUI開發(fā)設(shè)計(jì)
- Linux Shell編程從初學(xué)到精通
- Silverlight 2完美征程
- EJB JPA數(shù)據(jù)庫持久層開發(fā)實(shí)踐詳解
- Java求職寶典