দিক-ভিত্তিক, বিষয়-ভিত্তিক এবং ভূমিকা-ভিত্তিক প্রোগ্রামিংয়ের মধ্যে পার্থক্যগুলি কী কী?


14

আমি জানি এই তিনটি দৃষ্টান্ত বর্ণনা করার জন্য অনেকগুলি কাগজপত্র রয়েছে তবে আমি একটি পরিকল্পনামূলক ব্যাখ্যা খুঁজছি।

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


এটি সম্ভবত কোনও প্রোগ্রামার.স প্রশ্ন, তবে এটি সত্যই উন্মুক্তও। স্ট্যাকওভারফ্লো.com / faq#dontask দেখুন - "আপনার প্রশ্নগুলি যুক্তিসঙ্গতভাবে বাদ দেওয়া উচিত you আপনি যদি এমন একটি সম্পূর্ণ বই কল্পনা করতে পারেন যা আপনার প্রশ্নের উত্তর দেয়, আপনি খুব জিজ্ঞাসা করছেন" "
মের্লিন মরগান-গ্রাহাম

: আমি পড়া মূল টমাস কুন করে শুরু চাই amazon.com/Structure-Scientific-Revolutions-Thomas-Kuhn/dp/...

আমি আমার প্রশ্নের সংক্ষিপ্ত উত্তরটিও কল্পনা করতে পারি। উদাহরণস্বরূপ, আমি কীভাবে এএসপেক্ট-ওরিয়েন্টেড-প্রোগ্রামিং বর্ণনা করব: এটি পয়েন্টকটসের মাধ্যমে অন্যান্য প্রসেসিং-ইউনিটের আগে এবং পরে মডুলার উপায়ে "প্রসেসিং-ইউনিট" যুক্ত করার উপায়। আমার কাছে এটি অনেকটা নিয়ম-ভিত্তিক প্রোগ্রামিংয়ের মতো দেখাচ্ছে, উদাহরণস্বরূপ ইনফর্ম programming প্রোগ্রামিং ভাষা। informa7.com/learn/man/doc188.html

উত্তর:


9

এই সম্পর্কে একটি বই লিখে কেউ এর উত্তর দিতে পারে। তবে, এখানে একটি প্রাথমিক তুলনা

1. বিষয় ভিত্তিক প্রোগ্রামিং

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

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

দেখুন এই , এই এবং এই আরও তথ্যের জন্য।

২.অ্যাসপেক্ট ওরিয়েন্টেড প্রোগ্রামিং

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

অ্যাস্পেক্ট ওরিয়েন্টেড এর কয়েকটি ভাল ব্যবহারিক বাস্তবায়ন হ'ল AspectJ এবং AspectC ++ এবং আরও অনেক কিছুএই দেখুন ।

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

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

ভূমিকা ভিত্তিক মডেলিং এবং বাস্তবায়নের জন্য গবেষণায় প্রস্তাবিত বিভিন্ন ফ্রেমওয়ার্ক রয়েছে। এঁদের মধ্যে কয়েকজন আছে দড়ি , মস্তিষ্ক , ALAADIN এবং আরো

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