আমি যে একমাত্র দেব ব্লগটি পড়েছি, সেই জোয়েল-অন-সফটওয়্যার-ফাউন্ডার-অফ-এসও লোক দ্বারা, আমি অনেক আগে পড়েছিলাম যে ওও উত্পাদনশীলতা বৃদ্ধির দিকে পরিচালিত করে না। স্বয়ংক্রিয় মেমরি পরিচালনা করে। কুল। ডেটা কে অস্বীকার করতে পারে?
আমি এখনও বিশ্বাস করি যে ওও হ'ল নন-ওও হ'ল ফাংশনগুলির সাথে প্রোগ্রামিং সমস্ত ইনলাইন প্রোগ্রামিং।
(এবং আমি জেনেছি, যেমন আমি জিডব্লুবাসিক দিয়ে শুরু করেছি)) আপনি যখন ফাংশনগুলি ব্যবহার করতে রিফ্যাক্টর কোডটি ব্যবহার করেন তখন আপনি সেই পদ্ধতিতে
variable2654
পরিণত
variable3
হন Or বা আরও ভাল, এটি একটি নাম পেয়েছে যা আপনি বুঝতে পারবেন,
এবং যদি ফাংশনটি সংক্ষিপ্ত হয় , এটি বলা হয়
value
এবং এটি সম্পূর্ণ বোঝার জন্য যথেষ্ট।
কোনও ফাংশন সহ কোড যখন পদ্ধতিগুলির সাথে কোড হয়ে যায়, আপনি কোডের মাইলটি মুছতে পারেন।
যখন আপনি কোড refactor হতে সত্যিই OO যেমন পণ্য, b
, c
, q
, এবং Z
পরিণত this
, this
, this
এবং this
। এবং যেহেতু আমি this
কীওয়ার্ডটি ব্যবহার করতে বিশ্বাস করি না , তাই আপনি কোডের মাইলটি মুছতে পারেন। আসলে, আপনি এটি ব্যবহার করতে পারেন এমনকি যদি this
।
আমি ওও প্রাকৃতিক রূপক বলে মনে করি না।
আমি ভাষাটিকে প্রাকৃতিক রূপক বলে মনে করি না, বা ফাউলারের "গন্ধ" এইরকম বলা ভাল নয় যে "এই কোডটি খারাপ লাগে" " এটি বলেছিল, আমি মনে করি যে ওও প্রাকৃতিক রূপক এবং এমন লোকদের সম্পর্কে নয় যাঁরা মনে করেন যে
বস্তুগুলি আপনাকে কেবল পপ-আপ করে দেয় মূলত বিন্দুটি অনুপস্থিত।
আপনি বস্তু মহাবিশ্বকে সংজ্ঞায়িত করেন, এবং আরও ভাল অবজেক্টের ইউনিভার্সগুলির ফলাফল কোডের আকারে হয় যা সংক্ষিপ্ত, বোঝা সহজ, আরও ভাল কাজ করে বা এই সমস্তগুলি (এবং কিছু কিছু মানদণ্ড যা আমি ভুলে যাচ্ছি)। আমি মনে করি যারা গ্রাহকগণ / ডোমেনের প্রাকৃতিক বস্তুগুলিকে প্রোগ্রামিং অবজেক্ট হিসাবে ব্যবহার করেন তারা মহাবিশ্বকে নতুন করে সংজ্ঞায়িত করার ক্ষমতা হারিয়ে ফেলছেন।
উদাহরণস্বরূপ, আপনি যখন কোনও বিমান রিজার্ভেশন সিস্টেম করেন, আপনি যাকে রিজার্ভেশন বলবেন তা আইনী / ব্যবসায়িক রিজার্ভেশনের সাথে সামঞ্জস্য নয়।
কিছু প্রাথমিক ধারণা সত্যিই দুর্দান্ত সরঞ্জাম
আমি মনে করি যে বেশিরভাগ লোকেরা "যখন আপনার হাতুড়ি থাকবে তখন তারা সমস্ত নখ" জিনিসটিকে নিয়ে পুরোপুরি অতিরঞ্জিত করে। আমি মনে করি যে মুদ্রা / আয়নাটির অপর পাশটি ঠিক ঠিক: আপনার যখন বহুগঠন / উত্তরাধিকারের মতো কোনও গ্যাজেট থাকে তখন আপনি গ্লাভ / মোজা / যোগাযোগের লেন্সের মতো ফিট যেখানে ব্যবহারগুলি সন্ধান করতে শুরু করেন। ওও এর সরঞ্জামগুলি খুব শক্তিশালী। আমার মনে হয়, একক-উত্তরাধিকার হ'ল লোকেরা দূরে না যাওয়ার জন্য একেবারে প্রয়োজনীয়, আমার নিজস্ব
বহু-উত্তরাধিকার সফ্টওয়্যারটি প্রতিরোধ না করে।
ওওপি এর মূল বিষয় কী?
আমি মনে করি এটি একেবারে বিশাল কোড বেস পরিচালনা করার দুর্দান্ত উপায়। আমি মনে করি এটি আপনাকে কোডটি সংগঠিত ও পুনর্গঠিত করতে দেয় এবং এটির জন্য আপনাকে একটি ভাষা দেয় (আপনি যে প্রোগ্রামিংয়ের ভাষা ব্যবহার করছেন তার বাইরে) এবং কোডটি একটি প্রাকৃতিক এবং সহজে বোঝার উপায়ে মডুলারাইজ করে।
ওওপি'র সংখ্যাগরিষ্ঠ বিকাশকারীদের দ্বারা ভুল বোঝাবুঝির লক্ষ্য ined
এটি কারণ এটি জীবনের মতো চোখের সামনে খোলার প্রক্রিয়া: আপনি অভিজ্ঞতার সাথে ওও আরও বেশি করে বুঝতে পারবেন এবং কিছু নিদর্শন এড়ানো এবং বুদ্ধিমান হওয়ার সাথে সাথে অন্যকে নিযুক্ত করা শুরু করুন। সর্বোত্তম উদাহরণগুলির মধ্যে একটি হ'ল আপনি যে ক্লাসগুলি নিয়ন্ত্রণ করেন না তাদের জন্য উত্তরাধিকার ব্যবহার বন্ধ করে দিয়েছেন এবং পরিবর্তে
ফ্যাসাদ প্যাটার্নটি পছন্দ করেন ।
আপনার মিনি-রচনা / প্রশ্ন সম্পর্কে
আমি উল্লেখ করতে চাইনি যে আপনি ঠিক বলেছেন। পুনরায় ব্যবহারযোগ্যতা হ'ল বেশিরভাগ অংশের জন্য একটি পাইপ-স্বপ্ন। সেই বিষয়টি (উজ্জ্বল) সম্পর্কে এন্ডার্স হিজিলসবার্গের একটি উদ্ধৃতি এখানে থেকে :
আপনি যদি প্রারম্ভিক প্রোগ্রামারদের ক্যালেন্ডার নিয়ন্ত্রণ লিখতে বলেন, তারা প্রায়শই নিজেদের মনে করে, "ওহ, আমি বিশ্বের সেরা ক্যালেন্ডার নিয়ন্ত্রণ লিখতে চলেছি! এটি ক্যালেন্ডারের ধরণের ক্ষেত্রে বহুরূপী হতে চলেছে। এতে ডিসপ্লেয়ার থাকবে, এবং মুংগার, এবং এটি, এটি এবং অন্যটি। তাদের দুই মাসের মধ্যে একটি ক্যালেন্ডার অ্যাপ্লিকেশন শিপ করতে হবে। তারা এই সমস্ত অবকাঠামোটিকে নিয়ন্ত্রণে রাখে এবং তারপরে দু'দিন ক্রেডিট অ্যাপ্লিকেশন লেখার জন্য ব্যয় করে। তারা ভাববেন, "অ্যাপ্লিকেশনটির পরবর্তী সংস্করণে, আমি আরও অনেক কিছু করতে চলেছি।"
একবার তারা কীভাবে তাদের বিমূর্ত নকশার এই সমস্ত কনক্রিটাইজেশনকে বাস্তবায়িত করতে চলেছে সে সম্পর্কে চিন্তাভাবনা শুরু করলেও, দেখা যাচ্ছে যে তাদের নকশা সম্পূর্ণ ভুল। এবং এখন তারা এগুলি তাদের একটি কোণায় এঁকে দিয়েছে এবং তাদের পুরো জিনিসটি ফেলে দিতে হবে। আমি ওটা দেখেছি। আমি ন্যূনতম হওয়াতে দৃ strong় বিশ্বাসী। আপনি যদি না সাধারণ সমস্যাটি সমাধান করতে যাচ্ছেন না, তবে চেষ্টা করুন এবং নির্দিষ্টটির সমাধানের জন্য একটি কাঠামো স্থাপন করবেন না, কারণ আপনি জানেন না যে সেই কাঠামোর চেহারাটি কেমন হওয়া উচিত।