আমি আমার অবজেক্টগুলির তৈরি পরিচালনা করতে ityক্য পাওয়ার চেষ্টা করছি এবং আমি কিছু সূচনা পরামিতি রাখতে চাই যা রান-টাইম পর্যন্ত জানা যায় না:
এই মুহুর্তে আমি কীভাবে এটি করার উপায়টি ভাবতে পারি তা হ'ল ইন্টারফেসে একটি ইনিস পদ্ধতি থাকা।
interface IMyIntf {
void Initialize(string runTimeParam);
string RunTimeParam { get; }
}
তারপরে এটি ব্যবহার করতে (ityক্যে) আমি এটি করব:
var IMyIntf = unityContainer.Resolve<IMyIntf>();
IMyIntf.Initialize("somevalue");
এই runTimeParam
দৃশ্যে প্যারাম ব্যবহারকারীর ইনপুটের ভিত্তিতে রান-টাইমে নির্ধারিত হয়। এখানে তুচ্ছ ঘটনা কেবল এর মান দেয় runTimeParam
তবে বাস্তবে প্যারামিটারটি ফাইলের নামের মতো হবে এবং পদ্ধতিটি ফাইলের সাথে কিছু করবে initial
এটি বেশ কয়েকটি সমস্যা তৈরি করে, যথা Initialize
পদ্ধতিটি ইন্টারফেসে উপলব্ধ এবং একাধিকবার বলা যেতে পারে। বাস্তবায়নে একটি পতাকা সেট করা এবং বারবার কল করতে ব্যতিক্রম ছুঁড়ে ফেলা Initialize
মনে হচ্ছে এটিকে জটিল un
যেখানে আমি আমার ইন্টারফেসটি সমাধান করি সেই স্থানে আমি এর বাস্তবায়ন সম্পর্কে কিছু জানতে চাই না IMyIntf
। তবে আমি যা চাই তা হল এই ইন্টারফেসটির নির্দিষ্ট এককালীন সূচনা পরামিতিগুলির প্রয়োজন। এই তথ্যের সাথে ইন্টারফেসটি কোনওভাবে টীকা দেওয়ার (অ্যাট্রিবিউটস?) কোনও উপায় আছে এবং অবজেক্টটি তৈরি হওয়ার সময় ফ্রেমওয়ার্কে পাস করার উপায় আছে?
সম্পাদনা: ইন্টারফেসটি আরও কিছুটা বর্ণনা করেছেন।
runTimeParam
একটি নির্ভরতা যা রান-টাইমে কোনও ব্যবহারকারী ইনপুটের উপর নির্ভর করে নির্ধারিত হয়। এর বিকল্পটি কি এটিকে দুটি ইন্টারফেসে বিভক্ত করা উচিত - একটি আরম্ভের জন্য এবং অন্যটি মান সংরক্ষণের জন্য?