سلام و وقت بخیر و خسته نباشید.
اول از همه عذر خواهی کنم بابت سوالی که میپرسم چون خیلی کم درگیر کلاسا بودم ممکنه سطح پایین باشه سوالم. و اینکه حواسم به کانسپت هم هست اما تو کد زدن این سوالا برام پیش اومد.
- ما اومدیم تو کانستراکتور کلاس اصلی پارامتر پرایوت تعریف کردیم. پس زمان صدا زدن باید حتما فکتوری کلاسو بهش پاس بدیم. بهتر نبود از همون حالت پرایوت استفاده کنیم که از بیرون درگیر پاس دادن فکتوری کلاس نشیم؟
- مورد دوم هم مربوط به همین کلاسه که تو srp هم داشتیم. که از متغیر پرایوت نیو نکردیم. اگر ما بیایم و کلاس اصلی رو صدا بزنیم متغیر encoderFactory که از نوع کلاس EncoderFactory هست چون مقداردهی اولیه نشده و نیو نشده خطای آندیفایند احتملا بده. از روش دوم استفاده کنیم بهتر نیست؟ یا دلیل خاصی داشته و ربط داره به اون قوانینی که نقض میکنه سالید رو؟
export default class AClass { // b is undefinde? private b:BClass b.folanMethod() } export default class AClass { let b=new BClass() b.folanMethod() }