在业务开发过程中,诸如Django和FastAPI等框架,常常没有充分重视模型的开发。这些框架的教程和示例代码往往将对象关系映射(ORM)模型仅仅看作与数据库交互的工具,将其仅限于在关系型数据库中表示行数据的实例。然而,这种做法并不足够。
在这些教程中,大量的业务逻辑表达被放置在视图层或控制器中,导致本应由模型来表达的逻辑分散到各个地方。初学者往往会因参照这些教程编写代码而产生重复冗余的问题。
在业务开发过程中,诸如Django和FastAPI等框架,常常没有充分重视模型的开发。这些框架的教程和示例代码往往将对象关系映射(ORM)模型仅仅看作与数据库交互的工具,将其仅限于在关系型数据库中表示行数据的实例。然而,这种做法并不足够。
在这些教程中,大量的业务逻辑表达被放置在视图层或控制器中,导致本应由模型来表达的逻辑分散到各个地方。初学者往往会因参照这些教程编写代码而产生重复冗余的问题。
年终总结时挖坑说要写一篇关于注册表模式的文章,今天填坑。
注册表模式,简单来说就是把需要在许多地方使用的东西注册到一个固定的位置。
2023 年元旦至今已经过了半个月,这个略显无聊的夜晚,我突然想起了自己已经许久没有更新的博客。
在论坛或群聊中给人发送一些内容时,有时需要简单隐藏一下内容,通常我会使用 base64 对内容进行编码。
之前一直使用 Chrome 插件提供的功能来完成,最近突然想起了 Alfred Workflow 更适合做这件事。
使用 Python 进行 web 开发时,很多人都会首先接触到 Django 这样的框架,Django ORM 提供了一种极为简单明了的与关系型数据库交互的方式。但当业务逻辑变得复杂时,关系模型和对象模型的差异总会给项目带来一些麻烦,
在这种情况下,可以使用一种叫做数据映射器 (Data Mapper) 的模式将对象模型和数据源隔离,使他们能够各自演变,这样一来,软件便可以健康地发展下去。
继上次简单写了一些关于 Event Sourcing 的内容后,感觉进入了一段情绪低迷期,决定学一些和找工作无关的东西。
实际上,绝大多数项目并不需要使用领域驱动设计,也不需要支持高并发,在这种情况下,为了节省宝贵的时间,我们可以使用一种简单且有效的模式:活动记录 (Active Record)。
关系型数据库是日常开发中最常用的数据库类型,本文记载使用关系型数据库实现事件源模式的要点和一些问题。
要阅读本篇文章,你可能需要先自行了解关系型数据库、事件源模式和领域驱动设计相关知识。