CodeShot
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