設計抽象介面
抽象介面設計 - 抽象洩漏在軟體開發上使用抽象介面是很常用的手段,但是介面設計往往沒有很好的檢視。導致後續使用介面遇到許多問題,甚至質疑使用介面。往往不是介面的錯,是設計介面品質出錯。導致抽象並沒有很好的發揮該有的隱蔽細節、簡化問題的功能。
什麼是抽象洩漏?「抽象泄漏」是軟體開發時,本應隱藏實現細節的抽象化不可避免地暴露出底層細節與局限性。抽象泄露是棘手的問題,因為抽象化本來目的就是向用戶隱藏不必要公開的細節。(From - 維基百科)
以下面的介面為例:
1234567891011121314public interface IStudentDbRepository{ Task<StudentModel> GetByIdAsync(string studentId); Task<StudentModel> GetByNameAsync(string studentName); Task SaveAsync(StudentModel student); Task ModifyAsync(St ...
Asp.Net Core API Controller繼承
.Net Core Web API – API Controller 的繼承建立新的API時候,Controller到底要繼承Controller還是ControllerBase ?
API Controller 繼承建立新的API Controller類別時,繼承到底要繼承Controller還是ControllerBase? 這兩個類別有什麼差異?當翻開原始碼時候可以發現兩個類別的繼承關係。
完整程式碼 : ControllerBase
123456789101112[Controller]public abstract class ControllerBase{ private ControllerContext? _controllerContext; private IModelMetadataProvider? _metadataProvider; private IModelBinderFactory? _modelBinderFactory; private IObjectModelValidator? _objectV ...
Microsoft.FeatureManagement Feature Toggle
ASP.NET Core Feature FlagsASP.NET Core提供了一種動態打開或關閉功能的解決方案。
Github: https://github.com/microsoft/FeatureManagement-Dotnet
IntroducingMicrosoft.FeatureManagement:https://andrewlock.net/introducing-the-microsoft-featuremanagement-library-adding-feature-flags-to-an-asp-net-core-app-part-1/
軟體主廚的程式料理廚房:https://dotblogs.com.tw/supershowwei/2020/11/23/180548
Nuget Package12Microsoft.FeatureManagementMicrosoft.FeatureManagement.AspNetCore
RegistrationIServiceCollection 服務註冊123456public void Config ...
CoreProfile 實現跨應用程式性能調整及監控
CoreProfile 實現跨應用程式性能調整及監控
當橫跨API服務應用程式之間請求與回應效能低下,需要API服務性能調教及追蹤效能。
NuGet套件:12Install-Package CoreProfilerInstall-Package CoreProfiler.Web
環境要求:
WebService應用程式須安裝CoreProfile或NanoProfile,且DrillDown功能須設定為開啟,允許從外部應用程序向下鑽取子請求。
Net.Core專案 Startup.cs 必須加上 app.UseCoreProfiler(true)。 (參數為true表示開啟跨應用程式,從外部應用程序向下取子請求drillDown功能)
1234567891011121314151617181920public void Configure(IApplicationBuilder app, IWebHostEnvironment env){ app.UseCoreProfiler(true); if (env.IsDevelopment()) & ...
我的第一篇文章
原本沒有寫部落格習慣,因為在軟體工程業工作久了遇到許多問題。希望把遇到的問題或是技術心得寫下來。
現在在工作上寫文件,習慣使用Markdown於是開始想Markdown來寫文章。依稀記得公司的同事也有用Markdown寫部落格習慣。他推薦用Hexo與Github方式簡單自架出漂亮的部落格。
在2022年也開始練習對於自己所學的開始學習如何輸出給別人,也希望能慢慢養成寫部落格紀錄的習慣。
