ক্রিয়ামূলক প্রোগ্রামিংয়ের জন্য সলাইড নীতিগুলির সমতুল্য


36

বস্তু-ভিত্তিক নকশার কথা চিন্তা করার সময় আমি সলাইড নীতিগুলি বেশ কার্যকর পেয়েছি ।

ফাংশনাল প্রোগ্রামিংয়ের জন্য কি ভাষা-অজ্ঞাত নীতিগুলির অনুরূপ / সমতুল্য সেট রয়েছে?


12
FWIW, এই সংক্ষিপ্তভাবে আলোচনা করেন তাই এক বছর আগে
StuartLC


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


উত্তর:


14

সমতা খুঁজে পাওয়া কিছুটা কঠিন তবে আমি চেষ্টা করতে পারি:

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

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

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

1
ঠিক এটি পড়ার উদ্দেশ্য। আমি fp প্রসঙ্গে এই পদগুলির জন্য একটি ম্যাপিং বর্ণনা করার চেষ্টা করেছি।
AndreasSchainert

মানুষ আমি ঘৃণা করি যে আপনি কোনও মন্তব্য সম্পাদনা করতে পারবেন না, আসলে জিনিসগুলির অর্থ কমপক্ষে অনুরূপ কিছু হওয়া উচিত।
AndreasScheinert

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

45

সলিড কার্যকরী / অপরিহার্য ক্ষেত্রগুলির জন্যও একটি ভাল ধারণা হিসাবে দেখা গেছে।

এসআরপি - 'একমাত্র করণীয়' প্রথম স্থানটিতে প্রয়োজনীয় প্রোগ্রামিং থেকে নেওয়া হয়েছিল। ছোট, কেন্দ্রীভূত ফাংশন থাকা ভাল

ওসিপি - কোড পরিবর্তন না করে আপনাকে আচরণ পরিবর্তন করার অনুমতি দেওয়া ভাল। ক্রিয়ামূলক প্রোগ্রামিং উত্তরাধিকারের চেয়ে উচ্চতর অর্ডার ফাংশনগুলি ব্যবহার করে তবে নীতিটি ধারণ করে।

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

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

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

এমনকি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করার সময়ও এই নীতিগুলির অনেকগুলি অবজেক্টগুলিতে পদ্ধতিগুলির নকশার ক্ষেত্রেও প্রযোজ্য।

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