扫码阅读
手机扫码阅读

建模和编程中的契约 —— Design By Contract

189 2024-08-27

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:建模和编程中的契约 —— Design By Contract
文章来源:
TechLead 少个分号
扫码关注公众号
文章摘要:《少个分号》

摘要:

文章《少个分号》探讨了契约在生活和软件开发中的重要性。作者强调业务实质上是生意,而生意需要契约来确保各方权责明确。契约不仅规范了人们的日常生活,也是软件设计的基础。在软件领域,契约体现在接口设计中,要求开发者在编程时考虑人的不可靠性。

契约与业务:

业务是生意,而生意的每一笔交易都需要契约。契约以收据、小票等形式体现,是社会运作的基础。它不仅帮助理解业务,还能指导软件设计。在设计软件时,需要考虑操作者身份验证、购买流程以及审批功能,以产生业务凭证。

契约与生活:

人类社会的发展历史表明,从暴力到宗教,从等级制度到法律,契约一直是维系社会秩序的核心。契约强调人的不可靠性,促使人们在复杂环境中妥协和合作。这种理解也适用于细胞,单细胞生物通过形成多细胞生物而放弃部分个体权利。

契约与模型:

契约需要承载物,如印章、合同等。在计算机时代,数据数据库起到了表达契约的作用。编程中的实体模型不再与现实中的票据一一对应,而是根据需要进行组织。

契约与接口:

接口作为软件组件的连接点,本质上也是一种契约。接口定义了组件之间的通信规则,使得不同的供应商可以根据同一契约实现不同的需求。接口使得复杂的系统能够分工合作,如同建造航母一样需要多方协作。

契约与团队:

软件开发团队管理也依赖于契约。产品经理作为甲方,提出需求;开发团队作为乙方,根据需求开发产品。团队需要明确的权利、职责和收益指导,这是团队良好运转的基础。契约不仅要明文规定,还要考虑如何处理隐性契约,避免负面影响。

想要了解更多内容?

查看原文:建模和编程中的契约 —— Design By Contract
文章来源:
TechLead 少个分号
扫码关注公众号