- JavaScript Domain:Driven Design
- Philipp Fehre
- 335字
- 2021-07-16 20:48:40
The core idea of domain-driven design
There are many software development methodologies around, all with pros and cons but all also have a core idea, which is to be applied and understood to get the methodology right. For a domain-driven design, the core lies in the realization that since we are not the experts in the domain the software is placed in, we need to gather input from other people who are experts. This realization means that we need to optimize our development process to gather and incorporate this input.
So, what does this mean for JavaScript? When thinking about a browser application to expose a certain functionality to a consumer, we need to think about many things, for example:
- How does the user expect the application to behave in the browser?
- How does the business workflow work?
- What does the user know about the workflow?
These three questions already involve three different types of experts: a person skilled in user experience can help with the first query, a business domain expert can address the second query, and a third person can research the target audience and provide input on the last query. Bringing all of this together is the goal we are trying to achieve.
While the different types of people matter, the core idea is that the process of getting them involved is always the same. We provide a common way to talk about the process and establish a quick feedback loop for them to review. In JavaScript, this can be easier than in most other languages due to the nature of it being run in a browser, readily available to be modified and prototyped with; an advantage Java Enterprise Applications can only dream of. We can work closely with the user experience designer adjusting the expected interface and at the same time change the workflow dynamically to suit our business needs, first on the frontend in the browser and later moving the knowledge out of the prototype to the backend, if necessary.
- Learning NServiceBus(Second Edition)
- Machine Learning with R Cookbook(Second Edition)
- Vue.js 3.0源碼解析(微課視頻版)
- Apache Spark Graph Processing
- 深入理解Java7:核心技術與最佳實踐
- Mastering Ext JS
- C++新經典
- Red Hat Enterprise Linux Troubleshooting Guide
- UML軟件建模
- Ext JS 4 Plugin and Extension Development
- 物聯網系統架構設計與邊緣計算(原書第2版)
- 視窗軟件設計和開發自動化:可視化D++語言
- 金融商業數據分析:基于Python和SAS
- Building a Media Center with Raspberry Pi
- 循序漸進Vue.js 3前端開發實戰