কীভাবে অবজেক্ট-ভিত্তিক বিশ্লেষণ এবং ডিজাইনে (ওওএডি) ভাল হবেন?


26

একজন ভাল বিশ্লেষক এবং ডিজাইনার হয়ে একজন বিকাশকারীকে প্রচুর উপকার করতে পারে। তবে অবশ্যই এর জন্য বাধা রয়েছে। প্রত্যেকে OOAD এ আগ্রহী নয় এবং আগ্রহী প্রত্যেক ব্যক্তিই পথটি জানেন না। ভাল ওওএডি একাধিক ওও ভাষা জানা উচিত? বা তার / তার প্রকল্পগুলি ব্যর্থ হওয়া উচিত? কীভাবে একজন ভাল OOAD হয়ে উঠতে পারে?

উত্তর:


34

আগ্রহী নয় এমন লোকেরা তাদের নিজস্ব প্রতিবন্ধকতা তৈরি করছে। আমি এটা নিয়ে চিন্তা করতে পারি না।

যারা পথ জানেন না তাদের জন্য আমি পরামর্শ দিই:

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

যে কিছু সাহায্য করে আশা করি।


1
ভাল তালিকা @ পিডিআর। +1
সা Saeedদ নেমতি

5
+1 "এখনও খুঁজে পায় নি এবং কখনও খুঁজে পাবে না, একটি নিখুঁত পথ।"
21 অক্টোবর

1
+1 "টেস্ট চালিত বিকাশ আমার ওও ডিজাইন দক্ষতায় আমি যা শিখেছি তার চেয়ে আরও বেশি উন্নতি করেছে।"
কেভিন ক্লাইনে


ধন্যবাদ আমার কাছে সলিউড আলোচনার প্রোগ্রামারদের
st স্ট্যাকেক্সেঞ্জঞ্জ /

5

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

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

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

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

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

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

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


1
আপনার অর্থ কি কার্যনির্বাহী প্রোগ্রামিংয়ে খারাপভাবে ব্যর্থ হওয়া বা প্রক্রিয়াজাত প্রোগ্রামিংয়ে খারাপভাবে ব্যর্থ হওয়া?
অ্যান্ড্রু গ্রিম

ক্রিয়ামূলক প্রোগ্রামিংয়ের সাথে খারাপভাবে ব্যর্থ হওয়া, তবে আয়ত্ত্বে ব্যর্থ হওয়া। মানে এর সীমাবদ্ধতার কারণে সফল প্রয়োগে ব্যর্থ হওয়া।
স্টাইলার 14

সুতরাং আপনি অবশ্যই কার্যকরী প্রোগ্রামিং বোঝাতে চেয়েছিলেন, প্রক্রিয়াগত প্রোগ্রামিং নয়?
অ্যান্ড্রু গ্রিম

নন ওও প্রোগ্রামিং।
স্টাইলার

2
আমি অবশ্যই এটি সম্পাদনা করার পরামর্শ দিচ্ছি, যেহেতু অ-ওও! = কোনও কল্পনার দ্বারা কার্যকরী। জিনিস এমনকি উভয় হতে পারে।
Magus

0

আগ্রহী বা না করার জন্য সবসময় বাধা রয়েছে তবে প্রসঙ্গ এবং তীব্রতা বিভিন্ন হতে পারে।

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

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

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