如何设计一个良好的 API 接口?

API 是软件系统的核心,而我们在设计 API 接口的同时,面临着非常多的挑战,从遇到的场景上来看,它是多样的,如何设计一个处处适用的 API 呢?我们所参与的业务不断演进,如何设计一个有兼容性的 API 呢?我们的软件流程是协同开发的, …

阅读更多 »

如何在 Startup 正确解析服务?

在 .NET Core 应用中,通常需要在 Startup 注册和解析服务(resolve services),即在 ConfigureServices 注册服务,在 ConfigureServices 和 Configure 中解析服务。例如有以下的场景:我有一个基于 ASP.NET Core 3.1 的应用程序 …

阅读更多 »

C# 编码规范

对于编程中非代码文件(例如 xml 等),我们目前的最佳指南是代码风格的一致性。编辑代码文件时,需要保持新增/更改的代码与原文件中的代码风格一致性。对于新建的代码文件,它也应符合本编码规范。好的编码规范,有利于提升代码的可读性。 …

阅读更多 »

C# 如何对字符串公式执行计算?

对字符串公式的执行计算,在规则策略中比较常见,常用于定制化的场景下,比如:定制下单价格计算、定制监控参数计算等等。对于 C# 计算字符串公式,大多数用法是调用 JS 计算或者是使用 DataTable 的 Compute()。本文将推荐另一种比较高效的且灵活的字符串公式计算利器Flee。 …

阅读更多 »

.Net Core 如何实现简易定时任务?

我在《如何实现文章浏览量高并发计数?》一文中,有提及关于如何使用定时器的问题,本文对此问题展开讨论。.NET Core 实现定时任务有很多种方式,比如使用第三方框架:Quartz.net 或者 Hangfire,还有就是 .NET 自身的 Timer,但文本要讲述的是使用另一种方式实现后台任务。 …

阅读更多 »