আপনার ক্লায়েন্ট যদি আপনাকে অবজেক্ট-ভিত্তিক প্রোগ্রামিং ব্যবহার না করার প্রয়োজন হয় তবে আপনি কী করবেন?


31

আমি গ্রিডে পিঁপড়ার ক্রিয়াকলাপ অনুকরণ করার জন্য একটি প্রোগ্রাম লিখছি (পিডিএফ)। পিপীলিকা ঘোরাফেরা করতে পারে, জিনিস তুলে নিতে এবং জিনিস ফেলে দিতে পারে।

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

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

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

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


9
একটি জিনিস যা তার মন পরিবর্তন করতে পারে, তা হ'ল যদি আপনার এটি করার ব্যয় বেশি হয় (যদি আপনি কার্যক্ষম প্রোগ্রামিং ভাষার চেয়ে ওও ভাষাগুলিতে আরও দক্ষ হন)।
হলগার

রিচ হিকির পিঁপড়া সিমুলেশন কোডটি ( gist.github.com/1093917 ) তুলনা করা আকর্ষণীয় হতে পারে - ক্লোজুরেতে মূলত কার্যকরী যদিও সিমুলেশনটি মূলত এসটিএমের ব্যবহার প্রদর্শনের জন্য ডিজাইন করা হয়েছিল।
মাইক্রা

13
মন্তব্যকারী: মন্তব্য এখানে একটি উত্তর ত্যাগ করবেন না। আপনার নিজের উত্তর লিখুন। মন্তব্যগুলি প্রশ্নের বিভিন্ন সম্ভাব্য উত্তরগুলি আলোচনার স্থান নয়: হয় আপনার পরামর্শটির উত্তর হিসাবে প্রকাশ করুন বা প্রথমে এটির সাথে চ্যাট করার জন্য নিন।

6
আপনি N3dst4 এর পয়েন্টটি দেখেছেন তা নিশ্চিত করার জন্য কেবল "ফাংশনাল প্রোগ্রামিং" একটি নির্দিষ্ট প্রোগ্রামিং শৃঙ্খলা want প্রোগ্রামিং যা অবজেক্ট ওরিয়েন্টেড নয় সাধারণত "প্রক্রিয়াজাতীয় প্রোগ্রামিং" হিসাবে বর্ণনা করা হয়।
ডিজেক্লেওয়ার্থ

1
আপনি কেন মনে করেন যে অবজেক্ট-ভিত্তিক বাস্তবায়ন "অনেক বেশি পরিষ্কার" হবে? সম্ভবত এটা হবেন অনেক কম একটি সঠিক কার্মিক সমাধান চেয়ে পাঠযোগ্য।
এসকে-যুক্তি

উত্তর:


201

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


83
"+ আপনি" এমন কিছু শিখতে পারেন যা আপনি প্রত্যাশা করেননি "!
কেনেথ

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

8
"আপনি সম্ভবত এমন কিছু শিখতে পারেন যার জন্য আপনি প্রত্যাশিত নন"! +, কিন্তু: যদি ওপি কার্যকরী প্রোগ্রামিংয়ে খুব বেশি অভিজ্ঞতা না পায় এবং ক্লায়েন্টটি ভাল এবং সস্তা সমাধানের প্রত্যাশা করে তবে এটি একটি ঝুঁকিপূর্ণ হওয়ার পক্ষে ঝুঁকিপূর্ণ হবে সমস্যা সমাধানের নতুন উপায়।
মরে

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

2
প্রশ্নে কোথাও ওপি "ভাল এবং সস্তা" শব্দটি বলে নি। ইচ্ছাটি "দ্রুত এবং ভাল" হতে পারে (তিনটির মধ্যে: দ্রুত, ভাল, সস্তা)। ওপেন নির্দেশিকা ব্যতীত এগুলি সমস্ত অপ্রাসঙ্গিক, যেহেতু "স্পেসিফিকেশনস" "ফাংশনাল প্রোগ্রামিং ব্যবহার করুন" বলে।
ওয়ার্নারসিডি

68

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

সম্ভবত তিনি কোডটি রাখার এবং পরে এটি নিজেই বজায় রাখার মনস্থ করেছেন।

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

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

যদি অন্য সমস্ত ব্যর্থতা ব্যাখ্যা করে যে এটি OO স্টাইলে আপনার করতে খুব কম সময় লাগবে।


@ ডাউনভোটার আপনি কি কিছু মতামত দেবেন?
থানোস পাপাথানাসিউ

3
আমি বুঝতে পেরেছি যে কিছু লোকের কাছে টিএল; ডাঃ স্বরলিপি মূল্যবান
স্বাধীন

1
প্রায়শই জিজ্ঞাসিত প্রশ্নাগুলিতে বা সহায়তার পৃষ্ঠাগুলিতে "tl; dr" ব্যবহারের পরামর্শ দিচ্ছে কি? নাকি এটি কিছু দুর্বৃত্ত ব্যবহারকারী যারা এটি পছন্দ করেন না? আমার কাছে মনে হয় যে উত্তরের একটি সংক্ষিপ্ত সংক্ষিপ্তসার যুক্ত করা কেবল একটি ভাল জিনিস হতে পারে, সুতরাং কেন এটি ডাউন ডাউনের মূল্য হিসাবে বিবেচিত হবে তা আমি ভাবতে পারি না।
বেন লি

1
@ ব্র্যাচ আমি ভেবেছিলাম যে টিএল; ডাঃ স্বরলিপিটি আমার উত্তরটি পড়ার চেষ্টা করছে। এর অর্থ হ'ল আপনি যদি বাকী সমস্ত কিছু বাদ দেন, আপনি কেবল এটি পড়েন তবে আপনি উত্তরটির সারাংশ পাবেন। আপনি যা বলছেন তার অর্থ কী?
থানোস পাপাথানাসিউ

1
আমাদের মধ্যে অনেক বৃদ্ধ লোকই tl; d এর অর্থ জানেন না (আমি এটি সন্ধান করলাম তবে কেন কেউ এই ধরনের ক্রিপ্টিক বাজে কথা ব্যবহার করবে?)
এইচএলজিইএম

55

আপনি কি সচেতন যে ফাংশনাল প্রোগ্রামিংয়ের অর্থ কেবল "ক্লাস ছাড়াই প্রোগ্রামিং" নয়?

সম্পূর্ণ স্কিটিকের জন্য এটি সম্পর্কে উইকিপিডিয়া নিবন্ধটি দেখুন , তবে সংক্ষেপে ...

কম্পিউটার সায়েন্সে, ফাংশনাল প্রোগ্রামিং হ'ল একটি প্রোগ্রামিং দৃষ্টান্ত যা গণনাটিকে গণিতের ফাংশনগুলির মূল্যায়ন হিসাবে গণ্য করে এবং রাষ্ট্র এবং পরিবর্তনীয় ডেটা এড়িয়ে চলে। এটি অত্যাবশ্যক প্রোগ্রামিং শৈলীর বিপরীতে ফাংশনগুলির প্রয়োগের উপর জোর দেয়, যা রাষ্ট্রের পরিবর্তনের উপর জোর দেয়।

ফাংশনাল প্রোগ্রামিং একটি প্রোগ্রামিং দৃষ্টান্ত, যেমন ওও একটি প্রোগ্রামিং দৃষ্টান্ত।

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

ভাগ্যক্রমে আপনার জন্য, পাইথনের ফাংশনাল প্রোগ্রামিংয়ের জন্য দুর্দান্ত সরঞ্জাম রয়েছে (সবচেয়ে গুরুত্বপূর্ণ এটি হচ্ছে প্রথম শ্রেণীর অবজেক্টগুলি functions

পাইথন ফাংশনাল প্রোগ্রামিং HOWTO


এটি প্রকাশ করার জন্য +1। এটি সত্যই প্রশ্নে স্পষ্ট করা উচিত।
ব্র্যাচ

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

@ ডোনালফেলিজ একেবারে, এটি একটি ভাল বিষয় যে দু'টি একে অপরের সাথে একচেটিয়া নয়। পাইথন (যেহেতু প্রশ্নটি মূলত পাইথনকে ট্যাগ করেছিল) এটি অত্যাবশ্যকীয়, অবজেক্ট ওরিয়েন্টড এবং ক্রিয়ামূলক, আপনি যখন তাকান তখন আপনি কোথায় দাঁড়িয়ে থাকেন তা নির্ভর করে। এবং এই পৃষ্ঠায় অন্য কোথাও কেউ OCaml উল্লেখ করেছেন, যা OO এবং ক্রিয়ামূলক।
N3dst4

22

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


একমত। এটি কেবল সাধারণ জ্ঞান প্রয়োগ করা হয়।
মিস্টার স্মিথ

1
ব্যবসায়ের দৃষ্টিকোণ থেকে সমস্যাটি হ'ল গ্রাহকের কাছে আপনার জ্ঞানের অভাব স্বীকার করা সর্বদা সহজ নয় ("পরিবর্তে আপনাকে কার্যকরী প্রোগ্রামিংয়ের সাথে পরিচিত কাউকে নিয়োগ দেওয়া উচিত")। ওওপি দাবি করা সহজ, কারণ আপনি এটির সাথে পরিচিত। কম সৎ , তবে সহজ।
আন্দ্রেস এফ।

@ এন্ড্রেস এফ: একটি নতুন ভাষার (এবং দৃষ্টান্ত) ব্যবহার করা মোটেও সহজ নয়। শীঘ্রই বা ক্লায়েন্টকে সমস্যার পুনর্বিবেচনা করতে হবে। পরের চেয়ে আরও ভাল।
মিস্টার স্মিথ

4
@ মিস্টার স্মিথ: আমি আপনার সাথে পুরোপুরি একমত আমি কেবল বলছি সরবরাহকারীর কাছ থেকে এই ধরণের সততা (অর্থাত্ প্রোগ্রামার) সর্বদা আসন্ন নয়। মূলত আপনি গ্রাহককে অন্য কাউকে নিয়োগ দেওয়ার জন্য বলছেন, যা বিশ্বের সমস্ত ধারণা তৈরি করে, তবে তা বেদনাদায়ক।
আন্দ্রেস এফ।

13

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

এবং সচেতন থাকুন যে "অবজেক্টস" একটি বন্ধের কার্যকরী ধারণা দ্বারা পরিবর্তিত হতে পারে, যেহেতু বস্তুগুলি দরিদ্র ব্যক্তির ক্লোজারগুলি দরিদ্র মানুষের বস্তু হ'ল ... ;-):

https://stackoverflow.com/questions/2497801/closures-are-poor-mans-objects-and-vice-versa-what-does-this-mean

https://stackoverflow.com/questions/501023/closures-and-objects


+1 কার্যকরী প্রোগ্রামিং এবং ওওপি অর্থোথোনাল ধারণা cep উভয়কেই পরিচালনা করতে পারে এমন ভাষার জন্য ওক্যামল, স্কেলা, ক্লোজার, অজগরটি দেখুন।
আরডিএস

এই দুটি লিঙ্কই একাকী মূল্যবান ...
ওয়েন ওয়ার্নার

8

ক্লায়েন্টের সাথে এটির কথা বলার পরেও, যদি সে এখনও তার মতো করে চায় তবে আপনি হয় পেশাদার পেশায় কাজ করেন বা আপনি যদি তা না করতে পারেন তবে হয় চুক্তি গ্রহণ করেন না বা এ থেকে কোনও উপায় বের করতে পারেন না।

"ক্রেপি কোড" তৈরি করা কেবলমাত্র আপনার পক্ষে দ্বিমত পোষণ করার কারণে এটি উচ্চ পেশাগত হবে।


8
  1. আমরা সবাই ধরে নিচ্ছি কেন ক্লায়েন্ট কার্যকরী এবং অপরিহার্য প্রোগ্রামিংয়ের মধ্যে পার্থক্য জানে? প্রচুর লোক অ OO প্রোগ্রামিং প্যারাডিজমের নাম বা নির্দিষ্টকরণগুলি জানেন না এবং "প্রক্রিয়াজাতীয়" "আবশ্যক" এবং "ক্রিয়ামূলক" এর মতো পদগুলি সহজেই বিনিময় করবেন।

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

  3. ক্লায়েন্ট যদি স্পেকটি লিখেন তবে স্পেকটি প্রয়োগ করুন, অন্যথায় আপনি চশমাটি লিখে আপনার অনুমানটি প্রয়োগ করেন implement

  4. ক্লায়েন্টদের সিদ্ধান্তকে প্রভাবিত করার সর্বোত্তম কৌশল হ'ল অনাকাঙ্ক্ষিত বিকল্পটি উল্লেখযোগ্যভাবে আরও ব্যয়বহুল করা। এটি প্রতিটি সময় কাজ করে।

  5. আপনি যদি বিশেষজ্ঞ (ক্লায়েন্টের সাথে সম্পর্কিত) হন তবে আপনার তাদের বোঝাতে সক্ষম হওয়া উচিত।

  6. ক্লায়েন্টের একটি বৈধ পয়েন্ট আছে কি না তা জানতে, আপনাকে কার্যকরী প্রোগ্রামিংয়ের সাথে আরও অভিজ্ঞতা অর্জন করতে হবে, যাতে আপনি আত্মবিশ্বাসের সাথে এটিকে গুলি করতে পারেন বা বুঝতে পারেন যে OO এর প্রতি আপনার পক্ষপাতিত্ব আপনার অভিজ্ঞতার কারণে।

  7. কেন এটি উভয় উপায়ে না করে ক্লায়েন্টকে উভয় বাস্তবায়ন দেখতে দিন এবং কোনটি বজায় রাখা সহজ decide আপনার প্রকল্পের প্রাক্কলনগুলিতে কেবলমাত্র এটিকেই ফ্যাক্টর করুন যাতে আপনি অর্থ প্রদানের সময় শেখার বক্ররেখা উপভোগ করতে পারেন।


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

1
+1, বাস্তবে ক্লায়েন্টের কোনও ধারণা নেই যে ফাংশনাল প্রোগ্রামিং কোনটি হয় তা সর্বশেষ গুঞ্জন শব্দের দ্বারা চালিত বা কারণ তারা এটি বিশ বছর আগে করেছিল এবং এখনও নিজেকে প্রযুক্তিগত বলে মনে করে।
বেনামে টাইপ

5

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

উদাহরণস্বরূপ, অনেক লোক বিবেচনা করতে পারে

class C {
public:
  C();
  void f( int );
  void g();
};

একটি ধ্রুপদী অবজেক্ট-ভিত্তিক পদ্ধতির হতে, কিন্তু

struct C;
void construct( C ** );
void f( C *obj, int arg);
void g( C *obj );

না (যদিও উভয়ই ক্লাসিকাল হিসাবে সমান অবজেক্ট-ভিত্তিক, "ডেটা একসাথে এটি পরিচালনা করে এমন ফাংশনগুলির সাথে" সংজ্ঞাও যায়)।


2
ওওপির সঠিক অর্থ সম্পর্কে তর্ক কেন করবেন? গ্রাহক কেন তার সিমুলেশনটি কার্যকরী প্রোগ্রামিংয়ের পক্ষে আরও উপযুক্ত বলে মনে করেন তা জিজ্ঞাসা করা ভাল। গ্রাহক ঠিকই থাকতে পারেন ... আমি "ফাংশনাল" দ্বারা গুরুতরভাবে সন্দেহ করি যার অর্থ তিনি আপনার দ্বিতীয় সি উদাহরণটি বোঝালেন বা তিনি "কার্যকরী" কে "আবশ্যক" দিয়ে বিভ্রান্ত করছেন।
আন্দ্রেস এফ।

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

দৃrict়ভাবে, আমি পদ্ধতিটিকে কল / বার্তা প্রেরণ বস্তুর মাধ্যমে পাঠানো না হওয়ায় আমি পরেরটিকে ওওপি হিসাবে বিবেচনা করব না। এটি ওওপির একটি মূল বৈশিষ্ট্য।
ডোনাল ফেলো

5

আপনি কি আপনার ক্লায়েন্টকে বোঝানোর চেষ্টা করবেন যে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করা আরও পরিষ্কার?

আমি মনে করি আপনাকে প্রোগ্রামিং প্যারাডিমগুলিতে নিজেকে আরও শিক্ষিত করতে হবে। অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামযুক্ত কোড অগত্যা পরিষ্কার নয়, এবং বাস্তবে, এটি সর্বজনীনভাবে প্রযোজ্য নয়। এছাড়াও, একটি ভাল অবজেক্ট-ভিত্তিক কোডার পদ্ধতিগত / মডুলার ব্যবহার করে কীভাবে ভাল কাজ করতে হয় তা জানেন (ফাংশনাল এবং ডিক্লারেটিভ দৃষ্টান্ত দিয়ে, এটি কিছুটা শক্ত, তবে ভাল প্রোগ্রামারকে আগমন করা অত্যধিক কঠিন হওয়া উচিত নয় - পড়া এবং ছাড়ের মাধ্যমে - একটি গ্রহণযোগ্য এফপি / ঘোষণাপত্র সমাধান।)

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

অথবা আপনি তার যা চান তা অনুসরণ করার চেষ্টা করুন এবং তাকে ক্রেপি কোড দেবেন?

আপনি যদি পদ্ধতিতে ভাল কোড লিখতে না পারেন তবে আমার সন্দেহ হয় আপনি কোনও বস্তু-ভিত্তিক পদ্ধতিতে ভাল কোড লিখতে পারেন। সময়কাল। আমি এখানে বিচার করার চেষ্টা করছি না, তবে এটি দৃ be়ভাবে জানাতে হবে।

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

তবে এই সমস্ত বিষয় ওওর সহজাত এবং অনন্য নয়। প্রসেসরিয়াল / মডিউলার কোডে এগুলি বিদ্যমান (এবং সেই বিষয়টির জন্য অন্যান্য দৃষ্টান্তে This) এটি জটিলতার সমস্যাগুলির প্রকার যা এর মূল অংশে, দৃষ্টান্ত-স্বতন্ত্র। আপনি যদি ও ও আঠালো ব্যতীত এগুলি পরিচালনা করতে না পারেন তবে আপনি এটির সাহায্যে হ্যান্ডেল করতে পারবেন না unlikely

=========

আপনার ক্লায়েন্টকে রাজি করানোর চেষ্টা করবেন কিনা তা নিয়ে আপনার মূল প্রশ্নে ফিরে যাওয়া। এটা নির্ভর করে. পোস্টার শান ম্যাকমিলান বলেছিলেন, ক্লায়েন্ট যদি কেবল কোনও এজেন্ডার (পড়ুন, অফিসের রাজনীতি) জন্য বিকাশের প্রচেষ্টা মাইক্রো-ম্যানেজ করার চেষ্টা করছেন, তবে চলে যান walk যে লোকেরা নাশকতা প্রকল্পগুলি করে অন্য কাউকে দোষারোপ করার জন্য, বা কোনও নির্দিষ্ট এজেন্ডাটিকে ধাক্কা দেয়। আপনি এতে জড়িত হতে চান না।

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

সুতরাং আপনাকে বুঝতে হবে কেন ক্লায়েন্ট OO কোড এড়াতে চায়। এবং যদি আপনি এই বিষয়টি অবলম্বন করতে পারেন যে কোনও রাজনৈতিক এজেন্ডা নেই (কোনও লাল পতাকা নেই), তবে আপনার পেশাগত কাজটি করা উচিত, যা কেবল কোড পদ্ধতিগতভাবে / মডিউলার করে এবং এতে একটি ভাল কাজ করা উচিত।

প্রোগ্রামিং দৃষ্টান্তের স্বাধীনভাবে ক্রেপি কোড সরবরাহ করার কোনও অজুহাত নেই। যদি আপনি একটি দৃষ্টান্ত সহ গ্রহণযোগ্য কোড তৈরি করতে না পারেন তবে আপনি অবশ্যই সাধারণভাবে গ্রহণযোগ্য কোড উত্পাদন করতে পারবেন না।


3

আপনি ডেটা-স্ট্রাকচার এবং অবজেক্ট-ওরিয়েন্টেড-প্রোগ্রামিং (এই OO আক্রান্ত বিশ্বে একটি সাধারণ বিভ্রান্তি) মিশ্রণ করছেন

যদি আপনাকে কেবল ডেটা স্ট্রাকচারে "ডেটা অ্যাট্রিবিউটগুলি ট্র্যাক" করতে হয় এবং সেগুলি সংশোধন করতে পারেন তবে 70 এর দশকের পরে তৈরি প্রায় কোনও ভাষারই এটির পক্ষে ভাল সমর্থন থাকবে, ওও বা না।

ওওতে যে কাজগুলি করা সহজ সেগুলি মোটামুটি are

  • শ্রেণিভিত্তিক উত্তরাধিকার (পুরানো হিসাবে ভান করে এমন একটি নতুন শ্রেণি তৈরি করা সহজ)
  • ক্লাস ভিত্তিক পলিমারফিজম (পরে সিমুলেশনে নতুন ধরণের পিঁপড়া যুক্ত করা সহজ)

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


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

@ মার্কিন: এটি সত্য যে আধুনিক এফপি ভাষা বেশ শক্তিশালী। আমি কেবলমাত্র ডেটা-স্ট্রাকচার / এডিটি এবং ওও-র মধ্যে পার্থক্যটি চিহ্নিত করতে চেয়েছিলাম
hugomg

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

3

আমার ক্লায়েন্ট বলেছিলেন যেহেতু তাঁর কার্যকরী প্রোগ্রামিংয়ের ব্যাকগ্রাউন্ড রয়েছে তাই তিনি চাইবেন যে ফাংশনাল প্রোগ্রামিং ব্যবহার করে সিমুলেশন তৈরি করা হোক।

(প্রযুক্তিগত / ডিজাইনের সমস্যার জন্য এটি সামাজিক সমস্যার ভুল হওয়ার আরও একটি উদাহরণ example

এখানে দুই সম্ভাবনা আছে:

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

  2. আপনার ক্লায়েন্ট কিছু এজেন্ডার কারণে বিকাশ নিয়ন্ত্রণ করার চেষ্টা করছে। এটি ক্রেজি পূর্ণ একটি ব্যাগ যা আপনি কিছু করতে চান না। আপনি যদি সত্যই একটি "টার্নকি" টুকরো সফটওয়্যার সরবরাহ করে থাকেন তবে ক্লায়েন্টের যতক্ষণ না এটি নির্ভরযোগ্যভাবে কাজটি চালায় ততক্ষণ চাকাগুলিতে হাম্পার দিয়ে তৈরি হয়েছে কিনা সেদিকে নজর দেওয়া উচিত নয়। নিজেকে এইভাবে মাইক্রো ম্যানেজড হতে দেওয়া কেবল ব্যথা চাওয়া হচ্ছে।

আপনি কোন পরিস্থিতিতে রয়েছেন তা সিদ্ধান্ত নেওয়ার এবং সেই অনুসারে কাজ করার বিষয়টি আপনার হাতে।


3

উম্ম ... আমি কি এখানে ভাবছি কেবল "এটি স্পষ্টতই একটি পরীক্ষার কাজ / অ্যাসাইনমেন্ট"?

প্রথমত - অ্যাসাইনমেন্টটি নিজেই এক ধরণের "একাডেমিক" প্রকৃতির (পিঁপড়াদের আচরণের একটি দিক অনুকরণ করে)।

দ্বিতীয়ত - "ক্লায়েন্ট" কে কোড পড়তে পারে এবং এই জাতীয় বক্তব্য রাখতে পারে তার একটি খুব নির্দিষ্ট প্রোগ্রামিং দৃষ্টান্ত ব্যবহার করে (বা এড়ানো) প্রয়োজনীয়তা প্রয়োগের জন্য একটি অনুরোধ।

যদি এটি হয় তবে আপনার যা প্রয়োজন তা আপনি আরও ভাল করে করুন - এটি বরং দুর্দান্ত শেখার অভিজ্ঞতা হবে এবং যদি আপনি এটি করতে পারেন তবে আপনি প্রক্রিয়াটিতে অনেক কিছু শিখবেন ...

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

যদি ব্যাখ্যাটির অভাব হয়, তবে সমস্ত বেট বন্ধ রয়েছে .. আমি আপনাকে কী করতে হবে তা সুপারিশ করতে পারছি না।

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

মূল জিনিসটি হ'ল - একবার প্রয়োজনীয়তার পিছনে অনুপ্রেরণাটি বুঝতে পারলে সঠিক ক্রিয়াটি সঠিকভাবে স্পষ্ট হয়ে যায়।

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


2

ফাংশনাল প্রোগ্রামিং ব্যবহার করার জন্য তাদের অনুরোধে বেশ কয়েকটি ভাল দিক রয়েছে:

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

তবে কিছু উদ্বেগজনক লক্ষণও রয়েছে:

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

-1 ওপেনের চেয়ে এফপি ভাল imp
রাসেল বোরোগোভ

@ টিপি 1 ১) আপনি ধরে নিই যে ক্লায়েন্টটি প্রোগ্রামারটির তুলনায় প্রযুক্তিগতভাবে স্মার্ট, যা ক্লায়েন্টের ক্লায়েন্টের ঠিক তাই নয়। ২) এফপি ওওপি-র চেয়ে বেশি বয়সী এবং ইদানীং এটি প্রচুর পরিমাণে প্রেস হচ্ছে, ওওপি-তে কোনও ভুল নেই এবং আপনাকে এফপি ব্যবহার করতে ভুলে যাওয়ার দরকার নেই 3) এর আরও খারাপ দিকটি ধরে নিন যে এফপি আরও ভাল এবং ব্যবহার করা ভাল এফপি আপনাকে আরও ভাল প্রোগ্রামার করে তোলে, কেস ক্ষেত্রে এই ক্ষেত্রে কেবল সত্য এবং এই ক্ষেত্রে এটি সত্য বলে মনে হয় না।
জো টাইমন

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

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

1

উপরের প্রতিক্রিয়াগুলি দ্বিতীয় করে জানাচ্ছেন যে ক্লায়েন্টের কোনও বক্তব্য থাকতে পারে ওও সর্বোত্তম সমাধান নয়।

এআই চ্যালেঞ্জটি একবার দেখুন যা এখানে প্রশ্নে বিস্তারিত কিছু আচরণের মডেল তৈরি করেছে http://aichallenge.org এবং তারপরে বিভিন্ন স্টার্টার প্যাকেজগুলি দেখুন - http://aichallenge.org/starter_packages.php/ সর্বাধিক এমন ভাষা যা আমি ওও দৃষ্টান্তের মধ্যে রাখি না।


1

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

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


0

ক্লায়েন্ট "জাম্প" বলে, আপনার উত্তর: __ _ ?

আমার জন্য, আমি এটি বোঝার চেষ্টা করব যদি এটি উপলব্ধি করা হয় (নতুন প্রকল্প), তবে আমার কাছে একটি ক্লায়েন্ট রয়েছে 10 বছরের পুরানো ভিবি 6 অ্যাপ যা আমি মাঝে মাঝে আপগ্রেড করি ... তাদের বোঝাতে যাচ্ছি না


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

হ্যাঁ তবে আপনি কি ইদানীং vb6 ব্যবহার করার চেষ্টা করেছেন? এটি অত্যন্ত বেদনাদায়ক;)
বুমহাউয়ার

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

0

আপনার ক্লায়েন্টকে কিছুটা 'ক্রস পরীক্ষা' করুন (অ-মুখোমুখি পদ্ধতিতে):

ক্লায়েন্ট কি আসলে ওওপি এবং ফাংশনাল প্রোগ্রামিংয়ের মধ্যে পার্থক্য জানে? ক্লায়েন্টের উদ্বেগ / অনুরোধগুলি কি বৈধ?

যদি 'হ্যাঁ': আপনি যদি যোগ্য হন তবে তারা যা চান তা করুন এবং আপনার অর্থ গ্রহণ করুন। আপনি যদি যোগ্য না হন তবে তাদেরকে তাই বলুন এবং তাদের কী করতে হবে তা সিদ্ধান্ত নিতে দিন।

অন্যথায়: হাই লেজ এটা বাইরে!


0
double dist(Point p1, Point p2) 
{
  //return distance
}

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

বিটিডাব্লু আপনি কোনও অবজেক্ট ভিত্তিক বা ভিত্তিক নকশার মধ্যে একটি কার্যকরী শৈলী একত্রিত করতে পারেন। উদাহরণস্বরূপ দুটি "পয়েন্ট" ভেরিয়েবল হ'ল রাষ্ট্রযুক্ত বস্তু। এবং ফাংশন এখনও কার্যকর! হ্যাঁ!!

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