Seniorسختی 3 از ۵· در 8٪ مصاحبههای این حوزه پرسیده شده
چطور میتوان به IChatClient قابلیتهایی مثل Logging یا Caching اضافه کرد؟
☆نشان کردنپاسخ کوتاه
با الگوی Middleware Chaining — متدهایی مثل UseLogging یا UseFunctionInvocation روی IChatClient زنجیره میشوند.
پاسخ کامل
این الگو شبیه ASP.NET Core Middleware Pipeline است: هر لایه درخواست را میگیرد، کاری انجام میدهد و به لایهٔ بعدی پاس میدهد. این طراحی امکان افزودن Cross-cutting Concern ها را بدون تغییر کد فراخوانی مدل میدهد.
مثال کد
csharp\nservices.AddChatClient(baseClient)\n .UseLogging()\n .UseFunctionInvocation();\n
