অবজেক্ট-ভিত্তিক চিন্তার প্রক্রিয়া কী? [বন্ধ]


9

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

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

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


1
ওওপি সর্বদা সব কিছু ...
কাজ

ওওপি সম্পর্কে আপনার অধ্যয়নের সময় আপনি কি ডিজাইনের নিদর্শনগুলি সম্পর্কে কিছু পড়েছেন ?
জোড়াদেচে

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

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

@ ফ্যালকন আমার কাছে পিএইচপি / মাইএসকিউএল এবং তারিখের ফর্ম্যাটিং সম্পর্কে অন্যদিনেই একটি প্রশ্ন ছিল এবং আমি আপনার উত্তরটি বেছে নিতে পারতাম তবে এটি কেবল একটি মন্তব্য ছিল, এটির মূল্য কী।

উত্তর:


10

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

এটি মূলত অ্যাবট দ্বারা এই কাগজে বর্ণিত হয়েছিল এবং প্রায়শই "অ্যাবটের পাঠ্য বিশ্লেষণ" হিসাবে উল্লেখ করা হয়।

  1. একটি সাধারণ পাঠ্য স্পেসিফিকেশন লিখুন।
  2. ক্লাস শনাক্ত করুন : বিশেষ্যরা ভাল প্রার্থী।
  3. এই বৈশিষ্ট্যাবলী: বিশেষণ / ক্রিয়াবিশেষণ ভাল ক্যান্ডিডেট।
  4. এই অপারেশন: ক্রিয়া ভাল ক্যান্ডিডেট।
  5. ক্লাসের মধ্যে সমিতিগুলি সন্ধান করুন ।
  6. পরিশোধিত করুন।

উদাহরণ:

বিশেষ্য , ক্রিয়াপদ এবং adjectivesচিহ্নিত

গ্রন্থাগার রয়েছে বই এবং পত্রিকা । এতে প্রদত্ত বইয়ের বেশ কয়েকটি কপি থাকতে পারে । কিছু বই কেবল loansণের জন্য । অন্য সমস্ত বই যে কোনও গ্রন্থাগারের সদস্য তিন সপ্তাহের জন্য ধার নিতে পারেন । গ্রন্থাগারের সদস্যরা সাধারণত একবারে ছয়টি আইটেম bণ নিতে পারে তবে স্টাফের সদস্যরা এক সাথে 12 টি আইটেম .ণ নিতে পারে । শুধুমাত্র কর্মীদের সদস্যরা জার্নাল ধার নিতে পারে ।short-term

প্রথম বিশ্লেষণ পুনরাবৃত্তি ফলস্বরূপ হবে:

ক্লাস:

  • গ্রন্থাগার
  • বই, জার্নাল
  • কপি
  • ঋণ
  • গ্রন্থাগার সদস্য
  • পদ
  • স্টাফ মেম্বার

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


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

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

কান্ডিনস্কি কভার আর্ট সহ একটি বইয়ের পরামর্শ দেওয়ার জন্য @ ফ্যালকন +1।

@ tbj1982: আপনি একেবারে ঠিক বলেছেন। এটি একটি সাধারণ তাত্পর্যপূর্ণ এবং ফলাফলগুলি এটি বিবেচনায় রেখে চিকিত্সা করা উচিত। এটি সোনার বুলেট নয়, তবে এটি সহায়ক সহায়ক হতে পারে।
blubb

4

আমার মতে, টিডিডি পদ্ধতি গ্রহণ করা প্রাকৃতিক এবং দক্ষ:

  1. নির্দিষ্ট প্রয়োজনীয়তা লিখুন (প্রদত্ত, কখন, তারপরে)
  2. প্রতিটি প্রয়োজনীয়তা (সবচেয়ে গুরুত্বপূর্ণ প্রথম) একক পরীক্ষায় অনুবাদ করুন।
  3. # 2 তে লিখিত পরীক্ষায় উত্তীর্ণ হওয়ার জন্য কোডের ন্যূনতম পরিমাণ লিখুন।
  4. পরীক্ষায় উত্তীর্ণ হওয়ার পরে, সলাইড ডিজাইনের নীতিমালা অনুসারে আপনার কোডটি রিফ্যাক্টর করুন।
  5. # 4 এর পরে, আপনার কোডটি এখনও লিখিত সমস্ত পরীক্ষায় পাস করেছে তা নিশ্চিত করুন।
  6. 2-5 পুনরাবৃত্তি।

এই প্রক্রিয়াটি দিয়ে আপনি ধীরে ধীরে সাউন্ড ডিজাইনের সাথে টেস্টেবল কোড তৈরি করতে পারেন। আপনি প্রথমে ভাবতে পারেন লেখার পরীক্ষাটি অপ্রয়োজনীয় তবে সেই কার্যকলাপটি আপনাকে সাউন্ড আর্কিটেকচার তৈরিতে সহায়তা করে।


3

আমি সি ++ কোডে ব্যবহার করা পদক্ষেপগুলি এখানে:

  1. শ্রেণীর নাম স্থির করুন
  2. কনস্ট্রাক্টর পরামিতি এবং ডেটা সদস্যদের সিদ্ধান্ত নিন।
  3. সদস্য ফাংশন নাম এবং প্রোটোটাইপ সিদ্ধান্ত নিন
  4. অন্যান্য শ্রেণীর তুলনায় এটি স্বাধীন করুন
  5. নকশাটি সম্পন্ন হয়েছে, এবং সমস্ত কিছু কেবল বাস্তবায়ন।

(1) এর কারণ হ'ল এটি ক্লাসের সাথে কী কার্যকারিতা সম্পর্কিত তার ব্যাপ্তিটি নির্ধারণ করে। (২) এর কারণ হ'ল এটি নির্ধারণ করে যে শ্রেণিটি কীভাবে বাইরের বিশ্বের সাথে যোগাযোগ করে। (3) এর কারণ হ'ল প্রতিটি পরিস্থিতিতে ক্লাসের কোন কার্যকারিতা প্রয়োজন তা কীভাবে চয়ন করবেন তা এটি সংজ্ঞায়িত করে। (4) এর কারণ হ'ল এটি ক্লাসটি বিভিন্ন পরিস্থিতিতে ব্যবহার করার অনুমতি দেয়। (5) এর কারণ হ'ল এটি নকশা এবং প্রয়োগের মধ্যে সীমানা নির্ধারণ করে।


নামকরণের জন্য +1 আপনি আশ্চর্যরূপে "বাস্তব বিশ্বের" সমস্ত জ্ঞান এটিকে নিয়ে আসছেন বলেই কেবল নাম যুক্ত করা চিন্তা প্রক্রিয়াগুলিকে কতটা সংগঠিত করতে পারে তা আশ্চর্যজনক।
মার্ক ব্রেকেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.