প্রথম একটি অস্বীকৃতি: এই প্রশ্নটি এই ওয়েবসাইটে ফিট করে কিনা আমি সত্যিই জানি না, তবে আমি এখনও এটি কেবল আমার কাছে নয় বরং অন্যান্য ব্যক্তিদের ক্ষেত্রেও প্রাসঙ্গিক প্রশ্ন মনে করি। যদি প্রশ্নটি এখানে ফিট করার জন্য উন্নত করা যায় তবে অনুগ্রহপূর্বক মন্তব্যগুলি উল্লেখ করুন। যদি এটি ফিট না করে তবে আমাকেও জানান এবং সম্ভব হলে আমাকে কোথায় তা নিয়ে আলোচনা করা যেতে পারে তা জানাতে কারণ এর জন্য আমি কোনও ভাল ফোরাম খুঁজে পাইনি।
আমি পিএইচপি অধ্যয়ন যখন 2009 সালে প্রোগ্রাম শিখেছি। পরে ২০১২-এ, আমি সি # এবং .NET এ চলে এসেছি। যাইহোক, কোডিং সমস্যা নয়, অ্যালগরিদম লিখে আমার সমস্যা নয়। আমার আসল সমস্যাটি হ'ল কোনও প্রয়োজনীয়তা অর্জনের জন্য কী কোডিং করতে হয় এবং এটি কোথায় কোডিং করতে হয় তা জানা।
ওয়েবে উপস্থিত বেশিরভাগ কোর্সগুলি কীভাবে - একটি নির্দিষ্ট ভাষায় কোড কীভাবে লিখতে হয়, কীভাবে কিছু এপিআই এর সেট ব্যবহার করতে হয় ইত্যাদি ইত্যাদি বিষয়টিকে মোকাবেলা করে That's এটি এখানে আমার বক্তব্য নয়।
এই বছরগুলিতে আমি একগুচ্ছ জিনিসগুলি সম্পর্কে অনেক কিছু পড়েছি: অবজেক্ট-ওরিয়েন্টেড বিশ্লেষণ এবং ডিজাইন, ডিজাইনের ধরণ, ডোমেন-চালিত নকশা ইত্যাদি। আমি উদাহরণস্বরূপ সলিড নীতিগুলি বুঝতে পারি, ডিডিডি-র কিছু মূল ধারণা যেমন ডোমেন বিশেষজ্ঞদের জড়িত থাকার প্রয়োজনীয়তা, সর্বব্যাপী ভাষার বিকাশ ইত্যাদি। আমি সাহস করব আমি কমপক্ষে যুক্তিসঙ্গত একটি তাত্ত্বিক পটভূমি।
তবে অনুশীলন করার সময় আমার মনে হয় আমি একটি বিপর্যয় বোধ করি। কিছু সময় আগে আমার এমন আর্থিক ব্যবস্থার বিকাশ চালিয়ে যাওয়া দরকার ছিল যা ইতিমধ্যে অন্য কারও দ্বারা বিকাশ করা হয়েছিল। এটি সি # এবং উইনফর্মগুলি নিয়ে এমন ধরণের "পুরাতন সিস্টেম" বিকশিত। এটি প্রথমবারের মতো যখন আমি প্রচুর ব্যবসার বিধি এবং আরও অনেক কিছু নিয়ে সত্যিকারের ডোমেন জটিলতার সাথে একটি প্রকল্প বেছে নিয়েছিলাম।
আমি স্বীকার করি যে আমি যখন বেশিরভাগ সময় প্রয়োজনীয়তাগুলি পাই তখন আমার মনে হয় "পৃথিবীতে এটি কীভাবে করা যায়?" - কী কী করতে হবে তা নির্ধারণের জন্য প্রয়োজনীয়তার উপর কীভাবে কাজ শুরু করতে হবে সে সম্পর্কে আমার কোনও ধারণা নেই। আমার বিশ্বাস করা আমার প্রধান বিভ্রান্তিগুলি হ'ল আমাকে কী কোড করতে হবে, কোন ক্লাসগুলি, ইন্টারফেসগুলি এবং লজিকের প্রতিটি টুকরা কোথায় যায়, প্রতিটি জিনিসটি কোন শ্রেণিতে থাকতে হবে। সমস্যাটি হ'ল আমি জানি না কোথা থেকে শুরু করব।
বেশিরভাগ সময়, বেশ অনেক চিন্তাভাবনার সাথে আমি কিছু ধারণাগুলি দিয়ে শেষ করি, তবে আমার ধারণাটি সঠিক কিনা সে সম্পর্কে আমি কখনই বিচার করতে পারি না।
আমি বলতে চাইছি এটি তত্ত্বের অভাব বলে আমি মনে করি না, যেমনটি আমি বলেছিলাম যে আমি সফ্টওয়্যার আর্কিটেকচার এবং অবজেক্ট অরিয়েন্টেশন সম্পর্কিত একটি গুচ্ছ সম্পর্কে পড়লাম যা আমাকে সুপারিশ করা হয়েছিল তবে বাস্তবে কী করা উচিত তা চিহ্নিত করতে এটি খুব একটা সহায়তা করতে পারেনি ।
তাহলে আমি কীভাবে সত্যিই অবজেক্ট ওরিয়েন্টেড ডিজাইন করা শিখতে পারি ? আমি যা শিখতে চাই তা হল: প্রদত্ত প্রয়োজনীয়তাগুলি কীভাবে কী করা উচিত এবং যেখানে কোডের প্রতিটি টুকরো অন্তর্ভুক্ত তা সন্ধানের দিকে নিয়ে যায় এমন প্রক্রিয়াতে কীভাবে তাদের উপর কাজ করা শুরু করবেন তা জানেন। আমার ধারণাটি সঠিক কিনা আমি কীভাবে বিচার করতে শিখতে পারি?
আমি বিশ্বাস করি যে এখানে উত্তর হিসাবে এটি পুরোপুরি ব্যাখ্যা করা সম্ভব হবে না। তবে আমি যা খুঁজছি তা সাইটের স্টাইল অনুসারে হতে পারে উত্তরগুলি কেবল একটি ওভারভিউ দেয় এবং কিছু রেফারেন্স (বই, অনলাইন কোর্স ইত্যাদি) নির্দেশ করে যা ধারণাগুলি প্রসারিত করতে এবং এই বিষয়গুলি সত্যই শিখতে ব্যবহার করা যেতে পারে।