我的 Java IDE 的域模型
我目前正在为 Java 平台制作一个 IDE。该 IDE 仅用于教育目的。我正在处理文档并处于分析阶段。 现在,我正处于为我的项目制作域模型的阶段,我很困惑域模型图的样子。
IDE 将具有
- 打开/保存
- 创建/删除类
- 智能感知
- 编译
- 执行
- 语法突出显示/格式化功能
,那么域模型将是什么样子?什么是域?
任何指导都会有所帮助。谢谢
I'm currently making an IDE for the Java platform. This IDE for education purposes only.I'm working of the documentation and in the analysis phase.
Right now I'm at the stage of making the domain model for my project and I'm confused what to as to how the domain model figure would look like.
The IDE will feature
- open/save
- create/remove class
- intellisense
- compile
- execute
- syntax highlighting/formatting
so how will the domain model look like? and what is a domain?
Any guidance will be helpful. Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,我建议首先确定 IDE 的用例:
1. 维护文件(打开、保存、删除、重命名)
2. 解析代码语法并显示结果。
3. 将文件传递给编译器并显示结果。
(然后写出这些用例的作用的简单步骤。这将有很大帮助,并为您提供所有将弹出的那些琐碎的小需求的“上下文”。
否则,它只是一个功能列表,很难组织、一致、完整地实现,并且知道您捕获了所有内容。)
因此,您可以说您现在有 3 个域对象:文件、代码和编译器。
无论如何这是一个开始
是的,出于简单的好奇心,这是一个巨大的项目。
您还可以了解 eclipse 是如何构建的以及 OO 编译器是如何构建的。这些可能会给您关于域对象的想法
Well, I would suggest to start with identifying the use cases for your IDE:
1. Maintain files (open, save, delete, rename)
2. Parse Code Syntax and display results.
3. Pass File to compiler and display results.
( And then write out the simple steps of what these use cases do. This will help alot as well as giving you a 'context' for all those niggly little requirements that will pop up.
Otherwise it's simply a list of functionality and very hard to organize, implement consistently and completely and know you caught everything.)
So, you could say you have 3 domain objects now: File and Code and Compiler.
Anyway it's a start
Yes, A HUGE project for simple curiosity.
You might alos look at how eclipse is built as well as how an OO compiler is built. These may give you ideas as to your domain objects
听起来您需要阅读领域驱动设计。您的领域对象和通用语言由领域专家使用的语言驱动。幸运的是,您已经熟悉这种语言,因为您已经了解该领域(编程)。
It sounds like you need to read up on Domain Driven Design. Your domain objects and ubiquitous language are driven by the language used by the domain experts. Fortunately you're familiar with this language already since you know the domain (programming) already.