ওও-প্রোগ্রামিং যেমন ভাড়া করা সংস্থাগুলি রাখে তেমন গুরুত্বপূর্ণ? [বন্ধ]


55

আমি সবেমাত্র আমার স্নাতকোত্তর ডিগ্রি শেষ করছি (কম্পিউটিংয়ে) এবং চাকরীর জন্য আবেদন করছি। আমি লক্ষ্য করেছি যে বহু সংস্থাগুলি বিশেষত অবজেক্ট অরিয়েন্টেশন সম্পর্কে বোঝার জন্য জিজ্ঞাসা করেছেন। জনপ্রিয় সাক্ষাত্কারের প্রশ্নগুলি উত্তরাধিকার, পলিমারফিজম, অ্যাকসেসর ইত্যাদি সম্পর্কে are

ওও কি সত্যই গুরুত্বপূর্ণ? এমনকি সি তে প্রোগ্রামিং কাজের জন্য আমার একটি সাক্ষাত্কার ছিল এবং অর্ধেক সাক্ষাত্কারটি ওও ছিল।

বাস্তব বিশ্বে, বাস্তব অ্যাপ্লিকেশনগুলির বিকাশ, অবজেক্ট অরিয়েন্টেশন প্রায় সর্বদা ব্যবহৃত হয়? পলিমারফিজমের মতো মূল বৈশিষ্ট্যগুলি কি অনেকগুলি ব্যবহৃত হয়?

আমি মনে করি আমার প্রশ্নটি আমার একটি দুর্বলতা থেকে এসেছে। যদিও আমি ওও সম্পর্কে জানি, তবে আমি মনে করি না যে এটি আমার প্রোগ্রামগুলিতে একটি বড় চুক্তিটি অন্তর্ভুক্ত করতে সক্ষম হবে।


3
যদিও সব হারিয়ে যায় না। সমস্যা আছে তা চিহ্নিত করা এটি সংশোধন করার প্রথম পদক্ষেপ :)
গ্রাস করা ইলিজিয়াম

37
ওও হ'ল কেন একটি কার্যকর ধারণা তা বুঝতে আমার বেশ কয়েক বছর সময় লেগেছে। আমি সমস্ত প্রযুক্তিগত অংশগুলি বুঝতে পারি, তবে কেবল সেই দরকারী কিছু খুঁজে পাচ্ছিলাম না। আমার ধারণা অনেকটা বোবা উদাহরণগুলির মধ্যে যা আমি কুকুরের সাথে প্রসারিত স্তন্যপায়ী প্রাণীর সাথে দেখিয়েছি ... আমার চোখ কী খুলেছিল, ওও ডিজাইনের ধরণগুলি, বিশেষত শ্রোতা (ওরফে পর্যবেক্ষক) এবং কৌশল নিদর্শনগুলিতে
নজর দেওয়া হয়েছিল

1
হ্যাঁ, তাই সত্যি বলতে.
quant_dev

6
থরবজর্ন রাভন অ্যান্ডারসনের উত্তর দেখুন। একটি ভাল প্রোগ্রামার হওয়ার জন্য আপনাকে মডুলারালিটি এবং এপিআই ডিজাইন জানতে হবে। শিল্পে সমস্ত প্রোগ্রামার ভাল না তবে বেশিরভাগ ওওপি ব্যবহার করে। দুর্ভাগ্যক্রমে, ওওপি এবং নন-মডুলার কোড এবং দুর্বল এপিআইয়ের মিশ্রণটি নিম্নমানের সফ্টওয়্যারকে নিয়ে যায় এবং আপনি কাজের ধরণের এই ধরণের কোড দেখতে পাবেন। আপনার ফ্রি সময়ে প্রচুর কোড না লিখে আপনি সম্ভবত "রিয়েল-লাইফ" ওওপি সম্পর্কে খুব বেশি জানেন না। ঠিক আছে, আপনি এই অবস্থানে একা নন।
জো

1
হো হ্যাঁ সে পারে। এবং আমাকে বিশ্বাস করুন, যদি আপনার ওওপি সম্পর্কে একই ধারণা থাকে যা আপনার স্নাতকোত্তর ডিগ্রি অর্জনের সময় আপনার ছিল, তবে আপনি সম্ভবত ওওপি সম্পর্কে কিছুই জানেন না।
ডেডালনিক্স

উত্তর:


84

ওওপি হ'ল একটি দৃষ্টান্ত যা আপনার প্রোগ্রামটিকে বজায় রাখা / বোঝার পক্ষে অসম্ভব হয়ে ওঠার অনুমতি দেয়। এটি এমন একটি পয়েন্ট যা শিক্ষার্থীরা প্রায়শই পায় না কারণ তারা সবেমাত্র দুই সপ্তাহ সময়কাল থেকে সর্বোচ্চ দুই মাস স্থায়ী ছোট্ট প্রকল্পগুলি করে।

ওওপি-র উদ্দেশ্য পরিষ্কার করার জন্য এই স্বল্প সময়ের যথেষ্ট নয়, বিশেষত যদি প্রকল্পের লোকেরা প্রাথমিক হয়। তবে বড় আকারের প্রকল্পগুলির জন্য কিছু মডেলাইজেশন বদ্ধ করা গুরুত্বপূর্ণ, আমি বলব> কোডের 50,000 লাইন। ওওপি এটির একমাত্র সমাধান নয়, তবে এটি শিল্পে সবচেয়ে বেশি ব্যবহৃত হয়।

এই কারণেই লোকেরা আপনাকে ওওপি জানতে চায়।

আমি এক্সপেরিয়েন্স দিয়ে যোগ করব, প্রায় সমস্ত জুনিয়র প্রোগ্রামারদের মডেলাইজেশন এবং ওওপি-র গুরুতর ত্রুটি রয়েছে। তাদের মধ্যে বেশিরভাগই ক্লাস লিখতে, তাদের কাছ থেকে উত্তরাধিকারী হওয়া এবং এর মতো বেসিক স্টাফগুলি জানেন তবে তারা "ওওপি" তে ভাবেন না এবং এর অপব্যবহার শেষ করবেন না। এই কারণেই কোনও গুরুতর নিয়োগকারী OOP ডোমেনে আপনার দক্ষতাগুলি কী তা সর্বদা দেখতে পাবেন।

যেহেতু এই জিনিসগুলি স্কুলে শেখা হয় না, তাই বিভিন্ন পরীক্ষার্থীর মধ্যে জ্ঞানের একটি বিরাট প্রকরণ রয়েছে। এবং আসুন সম্মানিত হন: আমি মনে করি না যে OOP- তে কম জ্ঞানহীন কেউ কোনও বড় প্রকল্পে কাজ করতে পারে, কারণ কেবল তাদের নিজের কোডটি লেখার চেয়ে সীসা ডেভসদের এই লোকদের পরিচালনা করতে আরও সময় প্রয়োজন হবে।

আপনি যদি এখনও "ওওপি" না মনে করেন তবে আমি আপনাকে সে সম্পর্কে কয়েকটি বই পড়ার পরামর্শ দিচ্ছি এবং এমন সংস্থায় আবেদন করতে হবে যাতে সত্যিকারের কোনও বড় প্রকল্প নেই; আপনার নিয়োগকর্তার পক্ষে দরকারী কাজ চালিয়ে যাওয়ার জন্য ওওপিতে অভ্যস্ত হওয়ার জন্য (এবং যতক্ষণ তিনি আপনাকে বেতন দিচ্ছেন, এটি আপনার পক্ষেও কার্যকর হবে)।

সম্পাদনা: হ্যাঁ, এবং আমি যোগ করব যে আমি ইতিমধ্যে সিতে ওওপি কোড লিখেছি, এটি সি এর সর্বাধিক সাধারণ ব্যবহার না হলেও, শক্তিশালী জ্ঞানের মাধ্যমে এটি সম্ভব। আপনাকে কেবল ম্যানুয়ালি vtables তৈরি করতে হবে।

এবং ওওপি কৌশলের পিছনে কিছু গোপন রয়েছে: সফ্টওয়্যার ডিজাইন। সফ্টওয়্যার ডিজাইন, অন্য যে কোনও ভাষার মতো সি তেও সহায়ক। অনেক নিয়োগকারী আপনার সফ্টওয়্যার ডিজাইনের দক্ষতা পরীক্ষা করবে এবং ওওপি প্রশ্ন তার পক্ষে ভাল তবে ওওপি এখানে যা পরীক্ষা করা হচ্ছে তা মূল বিষয় নয়। এই কারণেই আপনার কাছে সি চাকরির জন্যও এই প্রশ্নগুলি রয়েছে।


2
এবং হ্যাঁ .. আমি আগের মন্তব্যে যেমন লিখেছি, আমি মনে করি ওওপি :) এর প্রশংসা করার জন্য আমার আরও বড় প্রকল্পে কাজ করা দরকার।
এলে

5
ওওপি হওয়ার জন্য আপনার ভেটেবল লাগবে না। কেবল structসি এবং এর কাঠামোতে কাজ করে এমন ফাংশনগুলি হ'ল ওওপি।
এডিএ-কিএ মার্ট-ওরা-ই

2
@ এডিএ-কিএ মার্ট-ওরা-ওয়াই স্ট্রাক্ট আপনাকে ওওপি কার্যকারিতা দেয় না। পলিমারফিজম? ইনহাইটারেন্স? এর অর্থ কি আপনার কাছে কিছু? ঠিক আছে, সুতরাং, আপনি কীভাবে কোনও ভেটেবল ছাড়াই ভার্চুয়াল ফাংশনগুলি প্রয়োগ করবেন?
ডেডালনিক্স

2
@ ডেডালনিক্স: আপনি সেগুলি একইভাবে প্রয়োগ করেন N নেট এবং জাভা একাধিক উত্তরাধিকার করে। আপনার জানা উচিত যে প্রথম সি ++ সংকলক মোটেই সংকলক নয়, তারা অনুবাদক ছিলেন যারা সি ++ কোড নিয়েছিলেন এবং সি কোডে পরিণত করেছিলেন যা একটি সি সংকলককে দেওয়া হয়েছিল। গুগল "সিফ্রন্ট"।
gbjbaanb

3
জাভা এবং; নেট একাধিক ইনহরাইটেন্স করে না। এবং হ্যাঁ, সি ++ স্বয়ংক্রিয়ভাবে সি তে অনুবাদযোগ্য, তবে এটি কেবল ভেটেবল ব্যবহার করার বা না দেওয়ার সমস্যার সাথে সম্পূর্ণ সম্পর্কিত নয়। আসলে আপনাকে করতে হবে: আপনি কোনও ভিটিবেল ব্যতীত ভার্চুয়াল ফাংশনগুলি প্রয়োগ করতে পারবেন না।
ডেডালনিক্স

38

কম্পিউটার প্রোগ্রামিংয়ের সাথে অপ্রতিরোধ্য সমস্যাটি জটিলতা পরিচালনা করছে এবং আধুনিক প্রোগ্রামগুলি প্রকৃতপক্ষে খুব জটিল হতে পারে এবং এটি কেবল বৃদ্ধি পেতে দেখা যায়।

অ-তুচ্ছ কম্পিউটার প্রোগ্রামগুলির সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ে করা বেশিরভাগ কাজ টিমিং জটিলতায় মনোনিবেশ করে এবং প্রথমে শেখার জীবনকাল ব্যয় না করে এটিকে যতটা সম্ভব অ্যাক্সেসযোগ্য করে তোলে।

উদাহরণ:

  • মডুলারাইজেশন: আপনি কোডগুলির মডিউল রেখে প্রোগ্রামগুলি ধারণাগতভাবে সহজতর করেন, যেখানে প্রতিটি মডিউল কেবলমাত্র অন্য মডিউল সম্পর্কে কিছুটা জানতে পারে (উদাহরণস্বরূপ মাউস আইকন অঙ্কন রাউটিংকে সরাসরি নেটওয়ার্ক কার্ড বাফারগুলি পরিচালনা করার অনুমতি দেওয়া হয়)।
  • এপিআই এর: তারা এপিআই এর পিছনে জটিল প্রোগ্রামগুলিকে একটি সাধারণ ব্যবহারের পথ দেয়। আপনি যখন কোনও ফাইল খোলেন তখন আপনার কোনও যত্ন নেই যে নেটওয়ার্কের শেয়ারগুলি কোনও ইউএসবি-ডিস্ক থেকে আলাদাভাবে পরিচালনা করা হয়। এপিআই একই রকম।
  • অবজেক্ট ওরিয়েন্টেশন। এটি আপনাকে বিদ্যমান কোডটি পুনরায় ব্যবহার করতে এবং আপনার অন্তর্ভুক্ত সমস্ত জটিলতা লুকিয়ে রেখে নতুন সংযুক্ত কোডের সাথে স্বচ্ছভাবে কাজ করতে দেয়।

অন্য কথায়, আপনি যদি একা বা (সম্ভবতঃ) অন্যদের সাথে সফ্টওয়্যারটির অপ্রচলিত টুকরোয় কাজ করতে চান তবে প্রচুর কৌশল অবগত হওয়া দরকার।


7
আমি পছন্দ করি আপনি মডুলারিটি, এপিআই এবং ওওয়ের মধ্যে পার্থক্য তৈরি করেছেন। আমি মনে করি সফটওয়্যার ইন্ডাস্ট্রিতে একটি বিস্তৃত ভুল ধারণা রয়েছে যা ওও এই সমস্ত জিনিসগুলির অর্থ।
জো

3
এমনকি ওও নিজেও জানা একটি হার্ড-সেট প্রয়োজনীয়তা নয়, নির্দিষ্ট ক্ষেত্রে (সি বা হাস্কেল) পদ্ধতিগত এবং কার্যকরী দৃষ্টান্তগুলি যথেষ্ট। আপনার এখনও মডুলারাইজেশন এবং এপিআই নকশা শিখতে হবে।
রায়নস

@ রায়নস, সি-তে আপনার ফাংশন পয়েন্টার রয়েছে যা আপনাকে ওও স্বতঃস্ফূর্তভাবে কী করে তা স্পষ্টভাবে করার অনুমতি দেয়। একইভাবে হাস্কেল উদাহরণস্বরূপ জাভাতে সংকলকটি যা করে তা স্পষ্টভাবে করতে প্যাটার্ন ম্যাচিং ব্যবহার করে।

@ থোরবজর্ন রাভানএন্ডারসন ওও স্টাইল সি এবং হাস্কেল লিখতে কিছুটা কুলুঙ্গি। আমি কেবল বলছি যে পুনরায় ব্যবহারের কোডটি পদ্ধতিগত এবং কার্যকরী দৃষ্টান্তে করা যেতে পারে।
রায়নস

3
@ মতেপিক আমি বলছি না যে ওও হ্যাসেল লিখতে হবে (অথবা এটি বিদ্যমান কিনা)। আমি বলছিলাম আপনাকে ওও জানার দরকার নেই। জটিলতা (এফপি) হ্যান্ডেল করার অন্যান্য উপায় রয়েছে
রায়নস

14

হ্যাঁ, প্রাথমিকভাবে কারণ সম্ভবত বাণিজ্যিক বিকাশে ব্যবহৃত দুটি সবচেয়ে জনপ্রিয় বিকাশ প্ল্যাটফর্ম (জাভা এবং। নেট) অবজেক্ট ওরিয়েন্টেড এবং এর অর্থ হ্যাঁ, ওও প্রচুর পরিমাণে ব্যবহৃত হয় (পলিমারফিজম, উত্তরাধিকার এবং সমস্ত কিছু সহ)।

সংস্থাগুলি কোনও প্রযুক্তি হিসাবে অবজেক্ট ওরিয়েন্টেশনকে বিশেষভাবে যত্নবান করে না - এটি কোনও আদর্শিক বিষয় নয়, তারা এমন লোকদের যত্ন করে যারা তাদের আইটি কৌশল অনুসারে এমনভাবে তাদের সমস্যার সমাধান বিকাশ করতে পারে।

তবে এটি দুর্বলতা বোধ করে আমি খুব বেশি চিন্তা করব না। আপনার শিক্ষাকে অসম্মান না করে, বাণিজ্যিক বিশ্বের বেশিরভাগ মানুষ প্রোগ্রামারদের বিশ্ববিদ্যালয় (কোনও স্তরে) সমাপ্ত নিবন্ধ হিসাবে দেখছেন না। আপনি এখনও শিখতে অনেক কিছু পেয়ে গেছেন এবং এটি বুঝতে পেরেছেন (সম্ভবত শিক্ষার্থীদের তুলনায় সংস্থাগুলি দ্বারা ভাল)।


2
ওও সম্পর্কে 'যত্ন না করা' সংস্থাগুলিতে আপনাকে ফোন করতে হবে - ভাল সংস্থাগুলি পুনঃব্যবহারযোগ্য / রক্ষণাবেক্ষণযোগ্য কোডবেসগুলি সম্পর্কে যত্নশীল এবং ওও প্যাটার্নগুলি এটি করার স্বীকৃত উপায়।
হুরুসকোল

1
@ হারুসকোল - তারা করে, তবুও পার্ল, কোবল এবং ভিজ্যুয়াল বেসিক সমস্ত বাণিজ্যিকভাবে সফল হয়েছিল এবং স্মলটাক ছিল না। আপনি ঠিক রক্ষণাবেক্ষণযোগ্য কোডের মতো সংস্থাগুলি কিন্তু এটি নিরঙ্কুশ প্রয়োজনীয়তা নয়, তারা অন্যান্য বিষয়গুলির সাথে এটি ভারী করবেন।
জন হপকিনস

ঠিক আছে, কোবোল ওওর আগে ছিল। আমি স্মার্টটাকের বিষয়ে মন্তব্য করতে পারি না, তবে আমি ধারণা করি যে এটি গ্রহণ না করা হলে অবশ্যই এতে সমস্যা ছিল।
হুরুসকোল

1
@ হারুসকোল - আসলে কোবল এবং ওও একই সময়ে (50 এর দশকের শেষের দিকে) অস্তিত্ব নিয়ে এসেছিল তবে আমরা যদি ধরেই নিই যে ওও সত্যই 70 এর দশক বা এমনকি 1980 এর দশক পর্যন্ত ধরে রাখা শুরু করেনি (যদি আপনি সি ++ এর জন্য অপেক্ষা করেন) তবে তা সংস্থাগুলির জন্য এটি বড় চুক্তি কেন এটি 90 এর দশকের শেষের দিকে (জাভা সহ) ধরা পড়েনি। উত্তরটি হ'ল ওও ব্যতীত অন্য কোনও রক্ষণাবেক্ষণযোগ্য কোড বেস থাকার উপায় রয়েছে - সংস্থাগুলি রক্ষণাবেক্ষণযোগ্য কোড সম্পর্কে যত্নশীল তবে বিড়ালের চামড়ার একাধিক উপায় রয়েছে এবং ওও এর একমাত্র সমাধান নয়।
জন হপকিন্স

প্ল্যাটফর্মগুলিকে ওও বলে আখ্যায়িত করা খুব অদ্ভুত। ক্লোজার ওও নয়। আমার ধারণা অনুযায়ী স্কালার কয়েকটি ওও উপাদান রয়েছে তবে এটি কার্যকরী উপায়ে সবচেয়ে বেশি ব্যবহৃত হয়। এফ # একই ধরণের deal এফ # তে ওও কোড লেখা ঠিক ময়লা।
সারা

7

বাস্তব জীবনের মতো, বাস্তব জীবনের প্রোগ্রামিং তত্ত্বের থেকে পৃথক।

হ্যাঁ, আপনি যদি ও ও দৃষ্টান্তটিকে পালিশ করে রাখেন এবং সর্বদা আপনার মনের পিছনে রাখেন তবে আপনি পরিচালনাযোগ্য, বোধগম্য এবং সহজেই বর্ধনযোগ্য এমন কোড লিখনে আরও ভাল করতে পারেন।

দুর্ভাগ্যক্রমে, আসল বিশ্বে এটি রয়েছে:

  • প্রকল্পের সময় চাপ
  • পদ্ধতিগতভাবে দলের সদস্যরা
  • ক্রস-অবস্থিত দল, একাধিক বিক্রেতা
  • লিগ্যাসি কোডটিতে যা কিছু আছে তার কোনও অভিমুখীকরণ নেই
  • যতক্ষণ এটি কাজ করে, কোড কীভাবে লেখা হয় সে সম্পর্কে কয়েকটি যত্নশীল
  • কোডটি কাজ না করলেও অনুপ্রেরণা হ'ল এটি ঠিক করা, এটি "ওও" নয়
  • মডিউল, প্ল্যাটফর্ম সীমাবদ্ধতা, ফ্রেমওয়ার্ক যা কেবল আপনাকে ভাল ওও করার অনুমতি দেয় না

একটি সত্যিকারের চাকরিতে আপনাকে উপরের বিষয়গুলি নিয়ে কাজ করতে হবে। এটিকে হতাশার মতো শোনাচ্ছে। তবে, এটি একটি মাথা আপ হিসাবে বিবেচনা করুন। নিয়োগকারী সংস্থাগুলি নিয়োগের সময় ওওকে খুব বেশি গুরুত্ব দেয়। এটি কেন সহজে দেখা যায়। কেবলমাত্র তারা পরীক্ষার্থীকে পরীক্ষা করতে পারে ওয়ের বোঝার বিষয়ে জিজ্ঞাসা করছে। এবং দুর্ভাগ্যক্রমে, অনেক পরীক্ষার্থী একটি সাক্ষাত্কারে নামার আগে কেবল এই প্রশ্নগুলিতে ব্রাশ করে।

রিয়েল-লাইফ ওও ধীর আসে। আপনি যদি পড়া চালিয়ে যান এবং সময়ের সাথে এটি উন্নতি করে রাখেন তবে এটি সহায়তা করে।


6

আমার স্নাতক ডিগ্রি শেষ করার পরে আমার একই ধারণা ছিল এবং একটি দুর্দান্ত বই যা আমাকে দেখায় যে কেন এবং কীভাবে বাস্তব-বিশ্বের অ্যাপ্লিকেশনগুলির জন্য প্রাসঙ্গিক তা হাইড ফার্স্ট: ডিজাইন প্যাটার্নস । আমি আপনাকে আন্তরিকভাবে একটি উঁকি দেওয়ার পরামর্শ দিচ্ছি, এটি সত্যিই মজাদার উপায়ে লেখা হয়েছে এবং বৃহত্তর স্কেল, ক্রমাগত পরিবর্তনশীল সিস্টেমগুলির সাথে কাজ করার সময় কেন ওওপি-অ্যাপ্রোচ করা বাঞ্ছনীয় তার অনেকগুলি বৈধ পয়েন্ট দেয়।


খুশি আমি একা নই! ধন্যবাদ .. আমি এই বইটি একবার দেখে নেব :)।
আলে

6

এমনকি সি-তে কিছু কাজের জন্য, আপনাকে অবজেক্ট ওরিয়েন্টেড ডিজাইনটি জানতে হবে (এবং সম্ভবত এটির তুলনায় এটি আরও ভাল হতে পারে আপনার সংকলকটি এটি আপনার জন্য করেছে), লিনাক্স কার্নেলের অবজেক্ট-ওরিয়েন্টেড নকশায় সাম্প্রতিক নিবন্ধের প্রমাণ হিসাবে। ( পর্ব 1 , পর্ব 2 )

জিটিকে + অনেকগুলি অবজেক্ট-ওরিয়েন্টেড ডিজাইনের ধরণগুলিও ব্যবহার করে।


4

এই ধারণাটির সাথে আমার কিছু মতানৈক্য প্রকাশ করতে হবে যে ওও হ'ল সবকিছু - কেউ বলতে পারে ওও আপনাকে শহরগুলি তৈরি করতে দেয়, তবে পদ্ধতিগত প্রোগ্রামগুলি ইট।

আমার উত্তরটি উপমা আকারে দেওয়ার জন্য, একজন সাধারণের প্রয়োজন বস্তুর, সৈনিকের প্রক্রিয়াগত প্রয়োজন। একবার আপনি ওও-তে পর্যাপ্ত পরিমাণে ছিটিয়ে ফেললে আপনি পদ্ধতিগুলি খুঁজে পেতে পারেন এবং যদি এটি আপনার দক্ষতা হয় এবং আপনি যথেষ্ট ভাল হন তবে ওও সম্পর্কে চিন্তা করবেন না, কারণ এই ওও দাবা গেম কোডটি কারও পক্ষে লেখা সহজ:

-findBestMove
-makeBestMove
-waitForPlayerInput

তবে তারপরে কাউকে -ফাইন্ডবেস্টমেভের পিছনে কোড লিখতে হবে এবং আপনি নিশ্চিত হতে পারেন যে এটি কেবল এটি নয়:

foreach $move (@moves){
    $bestMove = ($move > $bestMove ? $move : $bestMove)
}
return $bestMove

অন্যদিকে, আপনি কীভাবে ওও কোডটি পড়তে জানেন না, তা চিন্তা করুন। কারণ আপনি নিশ্চিত হতে পারেন (প্রায়) যে আপনার কোডটি কোনও ধরণের অবজেক্টের সাথে গোলমাল করবে। যদি আপনি 12000 গ্লোবাল ওয়ার এবং 1200 লাইন "মডিউল" বর্তমানে আমি বজায় রাখে না এমন ফোর্টরান লিগ্যাসিটি অবধি কাজ না করে।


4

জন হপকিনস লিখেছেন:

হ্যাঁ, প্রাথমিকভাবে কারণ সম্ভবত বাণিজ্যিক বিকাশে ব্যবহৃত দুটি সবচেয়ে জনপ্রিয় বিকাশ প্ল্যাটফর্ম (জাভা এবং। নেট) অবজেক্ট ওরিয়েন্টেড এবং এর অর্থ হ্যাঁ, ওও প্রচুর পরিমাণে ব্যবহৃত হয় (পলিমারফিজম, উত্তরাধিকার এবং সমস্ত কিছু সহ)।

যা আমি যা বলতে যাচ্ছিলাম তা বেশ সুন্দর, তবে এটি কেবল জাভা এবং। নেট, সি ++ সর্বত্রই নয়, উদ্দেশ্য-সি সমস্ত ওএসএক্স জুড়ে, সমস্ত দুর্দান্ত বাচ্চারা রুবি বা পাইথন করছে এবং এই সমস্ত কিছু এবং অনেকগুলি অবজেক্ট ওরিয়েন্টেশন উপর আরও ফোকাস আছে। অনেকগুলি নতুন ভাষা বহুমুখী ভাষা, সুতরাং F # এর মতো কিছু মূলত একটি কার্যকরী ভাষা, তবে অবজেক্ট ওরিয়েন্টেশনকে সমর্থন করে। এটি সর্বত্রই রয়েছে এবং কমপক্ষে কিছুটা বোঝাপড়া করা খুব দরকারী। যদিও এটি নিয়ে খুব বেশি হতাশ করবেন না, সবেমাত্র বিশ্ববিদ্যালয় কোর্স সম্পন্ন করার অর্থ আপনি আসল বিশ্বে কোড বিকাশ সম্পর্কে শেখা শুরু করতে প্রস্তুত :)


3

আমি দীর্ঘদিন ধরে প্রোগ্রামিং করেছি, এবং আমি সি তে প্রোগ্রামিং করার সময়ও ওও এর ধারণাগুলি কার্যকর বলে মনে করি - এমনকি যদি পরীক্ষিত হয় তবে আমি প্রতিটি ধারণাগুলি ছোট বিবরণে এই ধারণাগুলি বর্ণনা করতে ব্যর্থ হব। এক পর্যায়ে, আমি ধারণাগুলির চারপাশে আমার মাথা পেতে এবং একটি নতুন কোণ থেকে ওওর মধ্যে আনন্দ খুঁজে পেতে, এমনকি একটি প্রাথমিক ভাষা তৈরি করার পরেও আমি একটি ওও ভাষা তৈরি করেছি।

বিটিডাব্লু, সি ++ ওওর একটি বিশাল এবং কুরুচিপূর্ণ জগাখিচুড়ি করেছে, যেখানে উদ্দেশ্য সি এটি সঠিকভাবে করেছে।

সাক্ষাত্কারগুলি সম্পর্কে, তারা একটি হরর শোতে পরিণত হয়েছে - টেবিলের উভয় দিক থেকে। বেশিরভাগ ইন্টারভিউবি তাদের দ্বারা খুব সহজেই প্রকাশিত হয়। সর্বাধিক নিয়োগকারী পরিচালকরা আশ্চর্য হয়ে যায় যে কত লোক এমনকি খুব বেসিক প্রোগ্রামিং পরীক্ষায় ব্যর্থ হয়।

এটি বলেছিল, সফ্টওয়্যার শিল্পে এই মুহূর্তে কিছু প্রচুর ডুচে ব্যাগ কাজ করছে যারা কিছু জানেন না এবং এখনও সম্ভাব্য কর্মীদের কাছ থেকে বিশ্ব আশা করে।


সি ++ একটি বহু-দৃষ্টান্তের ভাষা তবে ওও বেশ ভালভাবে পরিচালনা করে .. না?
নিককো

1
আমি বলব যে সি ++ আপনাকে একটি বিশাল কুৎসিত জগাখিচুড়ি করার ক্ষমতা দেয়। সঠিকভাবে করা গেলে এর সৌন্দর্যটি এর সরলতা ity
মার্টিন ইয়র্ক

বেসিকগুলি এড়ানো সর্বদা বিশাল জগাখিচুড়ি দেয়। সি ++ এর কেবলমাত্র প্রচুর পরিমাণে আপনার বুঝতে হবে। এ কারণেই বড় প্রোগ্রামগুলির জন্য সি ++ ব্যবহার করা সম্ভব। এটি প্রয়োজন.
tp1

@ পঙ্ক: বিটিডাব্লু , সি ++ ওওর একটি বিশাল এবং কুরুচিপূর্ণ জগাখিচুড়ি করেছে, যেখানে উদ্দেশ্য সি এটি সঠিকভাবে করেছে। - আমি অবজেক্টিভ সি চেষ্টা করিনি, সুতরাং আপনাকে সন্দেহ করার কোনও কারণ নেই, তবে এর জন্য আরও বিশদ এবং দৃinc় বিশ্বাসের যুক্তি কোথায় পাব?
জিম জি

3

সফটওয়্যার ডেভলপমেন্ট শেখার মতো ওওপি শেখা ততটা কার্যকর নয়। কোড সম্পূর্ণ 2 পড়তে যান ।

নিশ্চিত যে এটি একটি দরকারী সরঞ্জাম তবে ওওপি নিজেই খুব ছোট। সাধারণভাবে যখন সংস্থাগুলি এবং নিয়োগকারীরা "ওওপি" বলে তাদের অর্থ "সফটওয়্যার বিকাশ"। এটি একটি জেনেরিক শব্দ হিসাবে ব্যবহৃত হচ্ছে।

প্রকৃত নিয়োগকারীরা কীভাবে সফ্টওয়্যার বিকাশ করতে হবে এবং "'ওওপি'তে 3 বছর আছে" টিকবক্সের সাথে কীভাবে মিলছে তা আপনার মধ্যে পার্থক্য জানাবে।


হ্যাঁ, এই প্রসঙ্গে OOP ঠিক জিইউআইয়ের মতো, "আপনার এই ভূমিকার জন্য 5 বছরের জিইউআই অভিজ্ঞতা প্রয়োজন"।
gbjbaanb

1

উত্তরটি হ্যাঁ, যেমনটি আরও বেশ কয়েকটি উল্লেখ করেছেন।

কিন্তু, আপনি যদি অ-ওও পদ্ধতিগত স্প্যাগেটি কোডের গাদাগুলিতে কাজ করতে চান তবে আপনি এটিও খুঁজে পেতে পারেন। আমি মনে করি আপনি OO কাজ পছন্দ করবেন।

সম্পাদনা: গানস্লিংগারদের কৌতূহল এবং হাস্যরসে আমার মামলাটি ক্ষমা করুন। রায়নোস যেমন বলেছিলেন, কেবল কিছু ওও হওয়ার অর্থ এটি ভাল নয়। ওওর যথাযথ প্রয়োগ সত্যিকারের কাজ এবং চিন্তাভাবনা গ্রহণ করে; এটির উদাহরণস্বরূপ থাকা মানে স্বয়ংক্রিয়ভাবে কোনও অ্যাপ্লিকেশনটি ভালভাবে তৈরি করা হয় না। এবং বিপরীতভাবে, আমি নিশ্চিত যে খুব ভাল সেখানে লিখিত পদ্ধতিগত কোড আছে। 90 এবং 2000 এর দশকের মধ্যে কর্পোরেট আইটি শপগুলিতে আমার অভিজ্ঞতাটি ছিল যে প্রচুর খারাপ কোড লেখা হয়েছিল এবং সম্ভবত এখনও রয়েছে। তবে ওপি-র প্রশ্নের আরও কাছাকাছি, আমি লক্ষ্য করেছি যে বুদ্ধিমান বিকাশকারীরা সুযোগ পেলে আরও ওও সিস্টেমে চলে যায়।


3
অ-ওও কোড বোঝানোর জন্য -1 স্প্যাগেটি। এবং সেই ওও কালো যাদু দ্বারা "স্প্যাগেটি নয়" ভাল করে।
রায়নস

@ রায়নস এটি একটি ন্যায্য বিষয়। এবং কোনও কারণ OO ব্যবহার করে না এর অর্থ এটি খারাপ নয়। আমি সম্পাদনা করব।
বার্নার্ড ডাই

এটি কেবল প্রক্রিয়াভিত্তিক বনাম প্রক্রিয়াগত / ওওপি নয়, কার্যকরী দৃষ্টান্তও রয়েছে।
বিকল্প

আমি অন-রক্ষণাবেক্ষণযোগ্য ওও অ্যাপ্লিকেশনগুলিতে কাজ করেছি যেখানে কনফিটির মতো বস্তুগুলি ছড়িয়ে ছিটিয়ে ছিল। ওওপি কোনও ম্যাজিক বুলেট নয়, এটি আপনার কোডটি সংগঠিত করার আরও একটি সংজ্ঞায়িত উপায়।
gbjbaanb

2
হ্যাঁ, হ্যাঁ, হাজার বার হ্যাঁ! সম্পাদনা দেখুন। আমার মন্তব্যটি দুর্বল লিগ্যাসি কোডের অসংখ্য উদাহরণগুলিতে সত্যই বাধা হয়ে দাঁড়িয়েছিল যা আমি প্রক্রিয়াজাতীয় বা ওওর বিশেষ ছাপের চেয়ে কাজ করে আনন্দিত হয়েছি। তবে আমার যদি পছন্দ হয় তবে আমি একটি ভাল নকশাকৃত পদ্ধতিগত সিস্টেমের চেয়ে ভাল ডিজাইনের ওও সিস্টেমে কাজ করব; এবং কোনও দিন খুব খারাপভাবে ডিজাইন করা হয়েছে তার জন্য একটি সু-নকশাকৃত সিস্টেম।
বার্নার্ড ডাই

1

ওও একটি মৌলিক ভিত্তি যার ভিত্তিতে অন্যান্য কৌশলগুলি নির্মিত হয়। একটি মূল বিষয় হ'ল প্রথমে কোনও ধরণের (শ্রেণি) এবং সেই ধরণের উদাহরণের মধ্যে পার্থক্যটি সম্পূর্ণরূপে বোঝা। পুরোপুরি না বুঝে এটি পড়ার চেষ্টা করবেন না (এই ভেবে পরে এটি স্পষ্ট হয়ে উঠবে), কারণ দৃষ্টিটি একবার দেখার পরে আপনাকে আবার সমস্তটি পড়তে হবে।

আপনি একবার এটির হ্যাঙ্গ পেয়ে গেলে আপনি এটি ছাড়া কখনও করতে চাইবেন না। এনপ্যাপুলেশন, প্যাটার্ন, ফ্রেমওয়ার্ক বা যা-ই হোক না কেন আমি কোনও বিশুদ্ধবাদী নই। চাকরিতে, আপনাকে বিভিন্ন মতামত এবং ধারণার সাথে মানিয়ে নিতে হবে। আমি আমার নিজের কিছু পূর্ববর্তী কাজের অভিজ্ঞতা তালিকা করব:

একটি সংস্থায়, আমার সহকর্মীরা যতটা সম্ভব অলস-লোডিং (খালি কনস্ট্রাক্টর, বিশাল সম্পত্তি যা সর্বত্র নাল মানগুলির জন্য পরীক্ষা করতে হয়েছিল) চেয়েছিলেন। তারা ওয়েব-ভিত্তিক সার্ভার-সাইড অবজেক্ট তৈরি করছিল যা স্বল্প জীবনযাপন করেছিল।

পরের কাজটি সম্পূর্ণ বিপরীতে ছিল। বস্তুগুলি একটি ডেস্কটপের অভ্যন্তরে থাকত (এক্সেল ভিত্তিক) অ্যাপ্লিকেশন। যতটা সম্ভব সূচনাটি কনস্ট্রাক্টরে থাকতে হবে (বা বহু কনস্ট্রাক্টর ওভারলোডগুলির মধ্যে একটি)। খালি নির্মাণকারীদের অনুমতি দেওয়া হয়নি যেহেতু খালি জিনিসগুলির অস্তিত্বের অধিকার ছিল না (যা দৃ pers়তার পক্ষে বেশ চ্যালেঞ্জ তৈরি হয়েছিল)। এছাড়াও আমাকে তাদের "কোডিং শৈলীর মানসমূহ" (যেখানে বন্ধনী খুলতে হবে, মন্তব্যগুলির পরে সাদা স্থান যুক্ত করতে হবে ...) খাপ খাইয়ে নিতে হয়েছিল, কারণ আমার কোডটি স্টাইল-কপটি না পেলে চেক করা যায় না।

বর্তমানে আমি এমন একটি প্রতিষ্ঠানে কাজ করছি যেখানে কোনও বিকাশকারী কখনও ওও বোঝার চেষ্টা করেনি। এটা যে চরম হতাশার তা প্রকাশ করা শক্ত। আমাকে আমার গ্রেপ দক্ষতা উন্নত করতে হয়েছিল, আসলে নির্বাচিত পাঠ্যটিতে একটি গ্রেপ করার জন্য আমার কাছে একটি হটস্ক্রিপ্ট ম্যাক্রো আমার F12 কীতে অর্পণ করা হয়েছে। আমি অন্যান্য হতাশাগুলি এড়াতে চাই ...

একবার আপনি ও দক্ষতা অর্জন করার পরে, আপনি প্রায় স্প্যাগেটি থেকে অ্যালার্জি হয়ে যাবেন! তবে, OO- বা না সব ক্ষেত্রে ধৈর্য ধরুন এবং মানিয়ে নিন। "এটিকে ফেলে দিন এবং শুরু করতে" অনিচ্ছুক হন। আপনার বস যখন বাইরে ছুটে আসার কথা আসে তখন আপনাকে বেছে নেবেন। দুর্ভাগ্যক্রমে মার্ণী কোডের চেয়ে "মনিকে বানানো" আরও গুরুত্বপূর্ণ।

দীর্ঘ উত্তরের জন্য দুঃখিত তবে আমি আপনার প্রশ্নের ক্ষেত্রের বেশিরভাগ অংশটি কভার করার চেষ্টা করেছি :-)


আপনার গল্পগুলির জন্য আপনাকে অনেক ধন্যবাদ .. সেগুলি পড়তে আমার খুব ভাল লাগল! বর্তমানে আমি একটি সি ++ প্রকল্পে কাজ করছি এবং আমি OO কৌশলগুলি ব্যবহার করতে পারি এমন সম্ভাব্য উপায়গুলি ভেবে এই সুযোগটি ব্যবহার করছি। এই মুহূর্তে এটি ভাল চলছে :)। আপনার উত্তর দেওয়ার জন্য +1। ধন্যবাদ.
আলে

1

ওওপি নিজের কারণে গুরুত্বপূর্ণ নয়, তবে এটি এটির সাথে কী নেয় of বিমূর্ত এবং বিচ্ছিন্ন করার ক্ষমতা নিয়ে এমন কিছু যা গোষ্ঠীগত জিনিসগুলি একসাথে শেষ হয় কেবল সেই অংশগুলিকেই প্রকাশ করে যা একসাথে ইন্টারঅ্যাক্ট করার জন্য প্রয়োজনীয়।

এটি "মডুলারাইজেশন" নামক একটি সাধারণ ইঞ্জিনিয়ারিং কৌশল, যা উচ্চ স্তরের প্রতিটি একক বিবরণ যত্ন না নিয়েই জটিলগুলিকে সহজতরদের একত্রিতকরণ হিসাবে তৈরি করতে দেয় এবং এর জন্য উপাদানগুলি প্রতিস্থাপনযোগ্য হওয়া দরকার এমনকি সেগুলি বিন্দুতে না থাকলেও হয় replace একই।

এই "ইঞ্জিনিয়ারিং ধারণাগুলি" সফ্টওয়্যার বিকাশে রাখার চেষ্টা করা হয়েছিল যখন সময় থেকে সফ্টওয়্যার পণ্যগুলি নিজেরাই "একক বিকাশকারী সক্ষমতার" চেয়ে বড় হয়ে উঠেছিল, এইভাবে বিকাশকারীদের স্বাধীন টুকরাগুলিতে কাজ করার উপায় তৈরি করার প্রয়োজন হয়েছিল এবং সেই টুকরোগুলি ছেড়ে দেওয়া উচিত একসাথে যোগাযোগ করুন।

এই বলে যে, এই নীতিগুলি কেবলমাত্র ওওপি-তে পাওয়া যায় না (এটি গণনা তত্ত্বটি বৈধ, এই ফলাফলগুলিতে আসার জন্য অসীম সম্ভাব্য পদ্ধতি রয়েছে)।

ওওপি হ'ল এই জিনিসগুলিকে একত্রে রাখার একটি সফল প্রচেষ্টা, সেই সাধারণ পদগুলিকে (যেমন মডিউল, এনক্যাপসুলেশন, বিকল্প) আরও সুনির্দিষ্ট সংজ্ঞা দেওয়া এবং প্রোগ্রামিং ভাষাগুলির সাথে মানিয়ে যেতে পারে এমন সংজ্ঞাগুলির (নিদর্শন) উপর বিস্তৃত ধারণাটি দেওয়া ।

প্রথমে ওওপি-র সাথে " ভাষার বৈশিষ্ট্য " হিসাবে নয় বরং একটি " প্রচলিত অভিধান " হিসাবে ভাবুন যা সফ্টওয়্যার ইঞ্জিনিয়ারদের সফ্টওয়্যার ডিজাইনের কাছে নিয়ে আসে।

কোনও প্রদত্ত ভাষার প্রাথমিক বা না-থাকার বিষয়টি যে সরাসরি এই অভিধানটিকে নিশ্চিত করে তা উদাহরণস্বরূপ- যে "ক্যাপসুল" অজান্তে খোলেন না কে করবেন না বলে মনে করা হচ্ছে এটি ওওপি নকশার একটি গৌণ দিক is এজন্য এমনকি বৃহত সি প্রকল্পগুলিও প্রায়শই ওওপি হিসাবে "পরিচালিত" হয়, এমনকি যদি ভাষা নিজেই এতে সরাসরি সমর্থন না দেয়।

সমস্ত কিছু বোঝার যোগ্য নয় যতক্ষণ না কোনও প্রকল্পের আকার একক বিকাশকারী তার সমস্ত কিছু বুঝতে এবং ট্র্যাক করতে সক্ষম করে (বাস্তবে, এই পরিস্থিতিতে এটি "ওভারহেড" হিসাবে দেখা যেতে পারে) বা একটি ছোট গ্রুপে কিছু বিকাশ করে একটি স্বল্প সময়কাল। এবং এটিই মূল কারণ, জুনিয়ররা যারা "ভাষার বৈশিষ্ট্য" শব্দের মধ্যে ওওপি অধ্যয়ন করে থাকে তারা প্রায়শই এটির নকশাযুক্ত কোড তৈরির ভুল ব্যাখ্যা করে।

কীভাবে ওওপি ভাষাগুলিতে খাপ খায় তা নির্ভর করে ভাষা ডিজাইনাররা কীভাবে ওওপি নীতিগুলি তাদের নিজস্ব নির্মাণে ব্যাখ্যা করে।

সুতরাং সি ++ এ "এনক্যাপসুলেশন" "প্রাইভেট সদস্য" হয়ে যায় (এবং একটি "ক্যাপসুল" একটি শ্রেণিতে পরিণত হয়), "প্রতিস্থাপন" ভার্চুয়াল ফাংশনগুলি ওভাররাইড বা টেমপ্লেট প্যারামিট্রাইজেশন / বিশেষায়িতকরণ ইত্যাদি হয়ে যায়, যখন ডিতে একটি ক্যাপসুল একটি "মডিউল" হয় (এবং প্রতিস্থাপন যায়) ক্লাস ইত্যাদির মাধ্যমে), সুতরাং নির্দিষ্ট দৃষ্টান্ত বা প্যাটার্নটি নির্দিষ্ট ভাষায় সরাসরি উপলব্ধ করা হয় অন্য কোনও ক্ষেত্রে নয়।

নিয়োগকারীরা ওওপি প্রশ্ন জিজ্ঞাসা করার জন্য যা চান তা হ'ল ভবিষ্যতের বড় প্রকল্প এবং উন্নয়নের জন্য সফটওয়্যার ডিজাইনের বিমূর্ততা অর্জন এবং অর্জনের জন্য আপনার সক্ষমতা পরীক্ষা করা। ওও, তাদের জন্য কেবল একটি "অভিধান" তারা তাদের এবং তাদের উভয়ই জানেন যাতে আপনি অন্যান্য আরও সাধারণ বিষয় সম্পর্কে কথা বলতে পারেন বা একটি নির্দিষ্ট বাস্তবায়নের সাথে সম্মতি জানাতে পারেন supposed


0

একটি অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজ আপনাকে আপনার কোডে কোনও অবজেক্ট ওরিয়েন্টেড ডিজাইন রাখতে সহায়তা করে, যা ভাল। তবে এটিও সত্য যে এ জাতীয় নকশা অন্য যে কোনও দৃষ্টান্তমূলক ভাষার সাথে পাওয়া যেতে পারে: ওও ভাষার জনপ্রিয়তার কারণ (বিশেষত সংস্থাগুলির মধ্যে) সম্ভবত জাভা এবং সি # এর বাণিজ্যিক সাফল্যের কারণ stands

মিঃ গেটস যদি সঠিকভাবে তাঁর সংস্থাটি শুরু করে থাকেন তবে আমরা সম্ভবত চাকরীর জন্য আবেদনের আগে SCHEME অধ্যয়ন করতাম।


মাইক্রোসফ্টের মতোই স্কিমটি হাজির হয়েছিল (যদিও এর আগে অবশ্যই অন্যান্য এলআইএসপি ছিল)। এছাড়াও, জাভা এবং সি # তাদের সাফল্যের অনেক Aণী অ্যালান কে, বিশেষত ছোট্টালক এবং সিমুলার আগে, সেইসাথে সি ++ এর সাফল্যের জন্য।
জেসনট্রু

0

সংক্ষিপ্ত উত্তর হ্যাঁ

আপনি যে লম্বা সংস্করণটি অনুভব করছেন বা একটি দ্বিধায় রয়েছেন কেন এটির গুরুত্বপূর্ণ কারণ কেবল আপনি কোনও প্রকল্প বা বাস্তবায়নে কাজ করেন নি যা কিছু উদ্দেশ্য নিয়ে কাজ করে। এটি অটোমোবাইলের উদাহরণ থাকার জন্য শ্রেণিকক্ষগুলিতে পুরোপুরি বৈধ, তারপরে গাড়ি, ট্রাকগুলিতে প্রসারিত ... তবে আপনি যখন সফ্টওয়্যার বিকাশে ঝাঁপিয়ে পড়েন তখন এর সমাধান কিছু কাজ সহজ করার জন্য লক্ষ্যযুক্ত হয়। এখন যদি এটি না থাকত তবে OOআমরা প্রত্যেকে কোড বেজ জুড়ে অনুরূপ কোড লিখতাম বাপ্রতিদিন পুনরুদ্ধার চাকা। কল্পনা করুন যে কেউ যদি কোনও কিছু ঠিক করার জন্য এই জাতীয় কোডবেসে ডুব দিয়ে থাকে তবে এটি কী অশান্তি হবে। শ্রেণিকক্ষে উদাহরণগুলি অস্পষ্ট সংজ্ঞা বা এটি কীভাবে / কেন করা হয় তার উপস্থাপনের জন্য। আপনি যখন নিজের অ্যাপটি তৈরি করা শুরু করেন তখন আসল পরীক্ষাটি বাইরে আসে, সন্দেহাতীতভাবে এটি ব্যবহার করা যেতে পারে এমন কোনও বিষয় হিসাবে সন্দেহ নেই তবে এর স্পষ্ট এবং সংক্ষিপ্ত ব্যবহারের কারণে এটি বিচক্ষণতার পক্ষে ওজন করে। এই দুর্বল অঞ্চলে কাজ করার জন্য আরও ভাল শুরু করা আপনি কমপক্ষে দুঃস্বপ্নের কোডগুলি ছড়িয়ে দিন।


0

এটা নির্ভর করে. আপনার ওওকে জানা দরকারের একটি কারণ এটি প্রোগ্রামিং জগতের লিঙ্গুয়া ফ্র্যাঙ্কা। অন্য একটি উত্তরে যেমন উল্লেখ করা হয়েছে, প্রায় প্রতিটি বড় ভাষাই কোনও না কোনওভাবে ওও হয়, যার অর্থ মূলত যে কোনও সংস্থা যে আপনাকে নিযুক্ত করতে পারে সে একটি ওও ভাষা ব্যবহার করছে। কখনও ওসিএএমএল প্রোগ্রামার নিয়োগের চেষ্টা করবেন? এটা অসম্ভব; প্রতিভা পুল খুব ছোট। যদি আপনি ওসিএএমএল ব্যবহার করে আপনার সংস্থাটি শুরু করেন এবং আপনার সংস্থা সফল হয়ে যায়, আপনি যথেষ্ট পরিমাণে প্রোগ্রামার নিয়োগ করতে সক্ষম হবেন না এবং আপনি ব্যবসায়ের বাইরে চলে যাবেন। অতএব প্রায় 3 টিরও বেশি প্রোগ্রামারসম্পন্ন প্রতিটি সংস্থা একটি ওও ভাষা ব্যবহার করে এবং আপনার সহকর্মীদের সাথে যোগাযোগ করতে এবং আপনার প্ল্যাটফর্মের লাইব্রেরিগুলি ব্যবহার করার জন্য আপনাকে ওও সম্পর্কে একটি ধারণা থাকতে হবে।

সংস্থা যে বিশেষ ভাষাটি ব্যবহার করছে তার উপর নির্ভর করে উত্তরাধিকার এবং পলিমারফিজম হয় অত্যন্ত গুরুত্বপূর্ণ বা কেবলমাত্র মাঝারিভাবে প্রাসঙ্গিক। আপনি 10 টি জিওএফ ডিজাইনের ধরণ এবং নির্ভরতা ইনজেকশন কাঠামো না বেরিয়ে জাভাতে কিছু করতে পারবেন না। জাভা হ'ল বহুল ব্যবহৃত একটি ভাষা, তাই জাভা ব্যবহারকারী অনেক সংস্থার কাছে ও ও নীতিগুলি সত্যই গুরুত্বপূর্ণ।

যদি সংস্থাটি স্কাল বা সি # এর মতো ল্যাম্বডাস এবং ফাংশন পয়েন্টারযুক্ত একটি আধুনিক হাইব্রিড ওও / ক্রিয়ামূলক ভাষা ব্যবহার করে থাকে তবে উত্তরাধিকার হঠাৎ করেই কম গুরুত্বপূর্ণ হয়ে ওঠে কারণ আপনার কাছে সত্যিকারের সাধারণ জিনিসগুলি পরিচালনা করার জন্য উচ্চতর অর্ডার ফাংশন রয়েছে যা অন্যথায় প্রচুর পরিমাণে প্রয়োজন হয় অনুষ্ঠান। তবে আপনাকে এখনও ওও স্টাফ নিয়ে কাজ করতে সক্ষম হতে হবে কারণ আপনার ব্যবহৃত বেশিরভাগ গ্রন্থাগারগুলি ওও উপায়ে লেখা হবে।

যদি উত্তরাধিকার এবং পলিমারফিজম সংস্থার পক্ষে গুরুত্বপূর্ণ না হয় তবে আপনি এখনও ওও প্রশ্নগুলি পেতে পারেন কারণ:

  • আপনি এইচআর ব্যক্তির দ্বারা সাক্ষাত্কার নেওয়া হয়েছে যিনি প্রোগ্রামিং সম্পর্কে কিছুই জানেন না এবং চেকলিস্টের বাইরে প্রশ্ন জিজ্ঞাসা করছেন। আপনার কি 3 বছরের এক্স রয়েছে, আপনি কি মাল্টিটাস্ক ইত্যাদি
  • আপনি একজন ইঞ্জিনিয়ারের সাথে সাক্ষাত্কার নিয়েছেন যিনি নিশ্চিত করতে চান যে আপনি কোন পাথরের নীচে বাস করেন নি। ওও হ'ল লিংগুয়া ফ্র্যাঙ্কা, সুতরাং আপনাকে এ সম্পর্কে কিছু রহস্যজনক প্রশ্ন জিজ্ঞাসা করা হবে।
  • আপনি একজন ইঞ্জিনিয়ারের সাথে সাক্ষাত্কার করেছেন যিনি সাক্ষাত্কারে খুব পারদর্শী নন। সাধারণভাবে ইঞ্জিনিয়াররা ট্রিভিয়া এবং জটিলতা পছন্দ করেন, তাই আপনি পলিমারফিজম, উত্তরাধিকার এবং GoF ডিজাইনের ধরণ সম্পর্কে প্রচুর প্রশ্ন পাবেন কারণ এই বিষয়গুলি আপনার সাক্ষাত্কার দেওয়া ব্যক্তির পক্ষে আকর্ষণীয়।

ডাউনটা কেন?
ডান

-1

এক কথায় "হ্যাঁ"।

আপনি ভাবতে পারেন যে আপনি তত্ত্বটি জানেন তবে আপনার কিছু কোড লিখতে হবে এবং এটি ব্যবহারে নেওয়া উচিত। আক্ষরিক - হাজার হাজার উদাহরণ এবং অনুশীলন লাইনে উপলব্ধ available

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.