InventoryStrategy
صورت مساله
ما میخواهیم در یک سیستم انبارداری، بر اساس دو مکانیزم ورود و خروج، کالاهای داخل انبار را بر اساس زمان ورود کالا به انبار مدیریت کنیم. در این انبار شما چندین قفسه و دربرگیرنده کالا InventoryWrapper
دارید که کالا ها Product
را در آن قرار می دهید Add
.
ما هر قفسه را بصورت یک آرایه قابل پیمایش دیده ایم که رابط IEnumerable را پیاده سازی کرده و کالا ها را در خود جای داده است.
برای پیمایش کالاهای داخل قفسه هم دو رویکرد پیمایش LIFO و FIFO را مد نظر قرار داده ایم.
شما ابتدا باید ساختار کلاس دربرگیرنده کالاها را تکمیل کنید، و بعد از آن رویکردهای پیمایش Enumerator
را برای استراتژیهای عنوان شده پیادهسازی نمایید.
راهنمایی
- در استراتژی FIFO، محصولاتی که زودتر از بقیه وارد قفسه شدهاند، ابتدا پیمایش می شوند.
- در استراتژی LIFO، محصولاتی که دیرتر از بقیه وارد قفسه شدهاند، ابتدا پیمایش می شوند.
نکته
ساختار تعریف شده نیاز به اضافه کردن هیچ کلاس یا نوع جدیدی ندارد. شما میتوانید خود یک نمونه پیاده در کلاس program.cs داشته باشید، اما تستکیسهای نوشته شده با عملکرد کلاسها و توابع شما کدها را میسنجند.