Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何弥合数据库设计和用户界面设计之间的差距?_User Interface_Language Agnostic_Implementation - Fatal编程技术网

User interface 如何弥合数据库设计和用户界面设计之间的差距?

User interface 如何弥合数据库设计和用户界面设计之间的差距?,user-interface,language-agnostic,implementation,User Interface,Language Agnostic,Implementation,我知道那个问题看起来怎么样,但我是认真的。我正在尝试创建一个应用程序来帮助我学习数据库(sql、查询、正确的数据库设计等)。我在工作中使用一个宠物项目,所以我有一些实际需求需要关注。最初的项目是通过MS Access编写的(“弗兰肯斯坦在一起”,正如原作者所说)。我想学习如何通过SQLite做得更好,但不知道如何重新创建Access提供的其他功能 使用这个网站作为一种与程序员和开发人员互动的方式(我不与任何人合作),到目前为止,我已经阅读了所有相关建议。所以,我有一个很好的小数据库设计,我计划使

我知道那个问题看起来怎么样,但我是认真的。我正在尝试创建一个应用程序来帮助我学习数据库(sql、查询、正确的数据库设计等)。我在工作中使用一个宠物项目,所以我有一些实际需求需要关注。最初的项目是通过MS Access编写的(“弗兰肯斯坦在一起”,正如原作者所说)。我想学习如何通过SQLite做得更好,但不知道如何重新创建Access提供的其他功能

使用这个网站作为一种与程序员和开发人员互动的方式(我不与任何人合作),到目前为止,我已经阅读了所有相关建议。所以,我有一个很好的小数据库设计,我计划使用SQLite实现它

我还研究了如何通过使用Balsamiq的模型为应用程序设计用户界面,并向我的潜在用户群(我团队中的同事)提交了一些想法,让他们给出反馈

            Database --> <insert code here> --> User Interface
数据库-->-->用户界面
然而,我最感兴趣的是如何弥合这两种设计之间的差距?我意识到这显然是编码的用武之地,但到目前为止,我还没有用GUI做任何东西。我四处搜索,似乎找不到任何明确的东西来帮助我(一本书、一个网站,甚至是一个可以遵循的过程)实际编写应用程序

我在某种程度上了解Perl,但只在命令行应用程序中使用过它;我可以使用Win32::GUI模块,但我并不真正理解GUI编程和命令行编程之间的区别,只是知道它们是不同的


关于GUI开发,是否有模型或指南可供遵循?是否有将应用程序绑定到数据库的特定资源?

目前遵循的一般模式是:

Database -> DAL -> BLL -> Controller -> View Model -> UI
在哪里

在谷歌上搜索每一个术语都会让你对从哪里开始有一个相当好的想法。请注意,您并不总是需要每一层。例如,如果应用程序足够小,BLL和视图模型可以是可选的

另请参见用于web开发的模型视图控制器(MVC),以及用于桌面开发的模型视图演示器(MVP)或模型视图模型(MVVM)

尽管本教程特定于Microsoft/Web,但它在一个地方包含了所有这些概念。

是另一个术语,您可能会看到它在描述内容时被抛出

数据库本身可以是几个不同点的组合:

  • 存储过程——这将代替直接访问表,并提供一个抽象层
  • 表或视图-直接访问列名,这在构建轻量级应用程序时非常有用
  • 两者的结合。一些表可以直接访问,而其他数据库活动则通过存储过程完成

  • UI可以只是一个表示层,也可以有几个其他层与之相连,因为可以使用ASP.Net的层(包括C#、HTML和JavaScript)的组合来创建web应用程序。

    您刚才问了一个问题,这个问题可能会占用计算机科学课程的两个或更多学期。我想可能会。但是,这些学期将以一本书为基础,对吗?:)您已经发现了@TrueWill-还没有。:)我的问题比这高了一点;我知道对象关系映射可能即将出现,但我需要先了解一些概念性的东西。好的方面,但是我相信人们经常试图把太多的东西抽象到BLL中。那个书呆子看起来很有帮助,谢谢!
    DAL == Data Access Layer (aka ORM, Object-Relational mapper)
    BLL == Business Logic Layer