1.6.4 分离原则: 策略同机制分离,接口同引擎分离

在Unix之失的讨论中,我们谈到过X系统的设计者在设计中的基本抉择是实行“机制,而不是策略”这种做法——使X成为一个通用图形引擎,而将用户界面风格留给工具包或者系统的其它层次来决定。这一点得以证明是正确的,因为策略和机制是按照不同的时间尺度变化的,策略的变化要远远快于机制。GUI工具包的观感时尚来去匆匆,而光栅操作和组合却是永恒的。

所以,把策略同机制揉成一团有两个负面影响:一来会使策略变得死板,难以适应用户需求的改变,二来也意味着任何策略的改变都极有可能动摇机制。

相反,将两者剥离,就有可能在探索新策略的时候不足以打破机制。另外,我们也可以更容易为机制写出较好的测试(因为策略太短命,不值得花太多精力在这上面)。

这条设计准则在GUI环境之外也被广泛应用。总而言之,这条准则告诉我们应该设法将接口和引擎剥离开来。

实现这种剥离的一个方法是,比如,将应用按照一个库来编写,这个库包含许多由内嵌脚本语言驱动的C服务程序,而至于整个应用的控制流程则用脚本来撰写而不是用C语言。这种模式的经典例子就是Emacs编辑器,它使用内嵌的脚本语言Lisp解释器来控制用C编写的编辑原语操作。我们会在第11章讨论这种设计风格。

另一个方法是将应用程序分成可以协作的前端和后端进程,通过套接字上层的专用应用协议进行通讯;我们会在第5章和第7章讨论这种设计。前端实现策略,后端实现机制。比起仅用单个进程的整体实现方式来说,这种双端设计方式大大降低了整体复杂度,bug有望减少,从而降低程序的寿命周期成本。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DBeaver是一款开源的数据库管理工具,它支持多种数据库系统,包括MySQL、Oracle、PostgreSQL等。DBeaver 1.6.4是DBeaver的一个旧版本,以下是关于DBeaver 1.6.4的使用教程: 1. 下载和安装:首先,你需要从DBeaver的官方网站(https://dbeaver.io/)下载DBeaver 1.6.4的安装包。然后,按照安装向导的指示进行安装。 2. 连接数据库:打开DBeaver后,点击"新建连接"按钮或者选择"数据库"菜单中的"新建连接"选项。在弹出的对话框中,选择你要连接的数据库类型,并填写相应的连接信息,如主机名、端口号、用户名和密码等。点击"测试连接"按钮来验证连接是否成功,然后点击"确定"保存连接配置。 3. 浏览和查询数据:在连接成功后,你可以在左侧的导航栏中看到数据库对象,如表、视图、存储过程等。双击这些对象可以查看其详细信息。在右侧的查询编辑器中,你可以编写SQL查询语句,并执行查询操作。查询结果将显示在下方的结果窗口中。 4. 数据编辑和管理:DBeaver提供了丰富的数据编辑和管理功能。你可以通过双击表格中的单元格来编辑数据,也可以使用SQL语句来更新数据。此外,你还可以创建和修改表结构、索引、触发器等数据库对象。 5. 导入和导出数据:DBeaver支持将数据导入到数据库中或从数据库中导出数据。你可以使用导入向导来导入CSV、Excel等格式的数据文件,也可以使用导出向导将查询结果导出为CSV、Excel等格式的文件。 6. 其他功能:除了上述功能外,DBeaver还提供了许多其他实用的功能,如数据库备份和恢复、数据比较和同步、SQL脚本执行等。 希望以上介绍对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值