我知道这个问题是怎么看的,但我很认真。我正在尝试创建一个应用程序来帮助我学习数据库(sql,查询,正确的数据库设计等)。我正在工作中使用宠物项目,所以我需要关注实际需求。原始项目是通过MS Access编写的(“Frankensteined together”,正如原作者所说)。我想学习如何通过SQLite更好地完成它,但不知道如何重新创建Access提供的其他功能。
使用此网站作为与程序员和开发人员进行交互的方式(我不与任何人合作),到目前为止,我已根据Database Design for Mere Mortals问题中的建议阅读了所有this。所以,我有一个很好的小数据库设计,我打算用SQLite实现。
我还查看了如何使用Balsamiq的Mockups为应用程序设计用户界面,并向我的潜在用户群(我的团队中的同事)提交了一些想法,让他们提供反馈。
Database --> <insert code here> --> User Interface
然而,对我而言,失败的部分是如何弥合两个设计之间的差距?我意识到这显然是编码的来源,但到目前为止我还没有用GUI做任何事情。在搜索时,我似乎没有找到任何作为明确的来帮助我(一本书,一个网站,甚至是一个可以遵循的流程)来尝试实际编写应用程序。
我在某种程度上了解Perl,但只将它用于命令行应用程序;我可以使用Win32 :: GUI模块,但我并不真正理解GUI编程和命令行编程之间的差异,只是知道它们不同。
是否有关于GUI开发的模型或指南?是否有将应用程序绑定到数据库的特定资源?
答案 0 :(得分:9)
现在遵循的一般模式是:
Database -> DAL -> BLL -> Controller -> View Model -> UI
其中
DAL == Data Access Layer (aka ORM, Object-Relational mapper)
BLL == Business Logic Layer
通过Google搜索这些术语应该会让您对入门的位置有一个很好的了解。请注意,您并不总是需要每一层。例如,如果应用程序足够小,BLL和视图模型可以是可选的。
另请参阅用于Web开发的模型视图控制器(MVC),以及用于桌面开发的模型视图展示器(MVP)或模型视图ViewModel(MVVM)。
虽然NerdDinner教程是Microsoft / Web特定的,但它在一个地方包含所有这些概念。
答案 1 :(得分:0)
Middleware是您可能会看到的另一个术语。
数据库本身可以是几个不同点的组合:
UI可以只是一个表示层,也可以包含几个其他层,因为可以使用ASP.Net的层组合(包括C#,HTML和JavaScript)来创建Web应用程序。