প্রশ্ন ট্যাগ «class-design»

সর্বাধিক পরিচিত শিল্প চর্চা সহ ক্লাসগুলি কীভাবে ডিজাইন করা যায় সে সম্পর্কে সাধারণ নির্দেশিকা।

16
একক দায়িত্বের নীতিটি ব্যবহার করার সময়, কোন "দায়িত্ব" গঠন করে?
এটি বেশ পরিষ্কার বলে মনে হয় যে "একক দায়িত্বের নীতি" এর অর্থ "কেবল একটি কাজ করে না" does এটিই পদ্ধতিগুলি। public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } বব মার্টিন বলেছেন যে "ক্লাসগুলির পরিবর্তনের একমাত্র কারণ থাকতে …

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

13
শ্রেণি প্রয়োগের অন্যান্য প্রোগ্রামারদের কীভাবে সতর্ক করা যায়
আমি এমন ক্লাস লিখছি যা "অবশ্যই একটি নির্দিষ্ট উপায়ে ব্যবহার করা উচিত" (আমি অনুমান করি সমস্ত শ্রেণি অবশ্যই আবশ্যক ...)। উদাহরণস্বরূপ, আমি fooManagerক্লাস তৈরি করি , যার জন্য একটি কল প্রয়োজন, বলুন Initialize(string,string)। এবং, উদাহরণটিকে আরও কিছুটা এগিয়ে নিয়ে যাওয়ার জন্য, আমরা এর ThisHappenedক্রিয়াটি না শুনলে শ্রেণিটি অকেজো হবে । …

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

6
যদি কোনও গেটের অবজেক্টের অবৈধ অবস্থা থাকে তবে কি তাকে ব্যতিক্রম করা উচিত?
আমি প্রায়শই এই সমস্যায় পড়ে যাই, বিশেষত জাভাতে, এমনকি যদি আমি মনে করি এটি একটি সাধারণ ওওপি সমস্যা। এটি: একটি ব্যতিক্রম উত্থাপন একটি ডিজাইনের সমস্যা প্রকাশ করে। ধরুন আমার একটি ক্লাস আছে যার একটি String nameক্ষেত্র এবং String surnameক্ষেত্র রয়েছে। তারপরে এটি কোনও ক্ষেত্রের ডকুমেন্টে প্রদর্শন করার জন্য কোনও ব্যক্তির …

6
কোনও শ্রেণীর নিজস্ব তালিকার উপশ্রেণী হিসাবে সংজ্ঞায়িত করার অসুবিধা কী হবে?
আমার সাম্প্রতিক প্রকল্পে, আমি নিম্নলিখিত শিরোনাম সহ একটি শ্রেণি সংজ্ঞায়িত করেছি: public class Node extends ArrayList<Node> { ... } যাইহোক, আমার সিএস অধ্যাপকের সাথে আলোচনা করার পরে, তিনি জানিয়েছিলেন যে ক্লাসটি উভয়ই "স্মৃতির জন্য ভয়ঙ্কর" এবং "খারাপ অনুশীলন" হবে। আমি প্রথমটি বিশেষভাবে সত্য বলে খুঁজে পাইনি এবং দ্বিতীয়টিটি বিষয়গত হতে …

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

9
নির্দিষ্ট দৃষ্টান্তের জন্য সাবক্লাস তৈরি করা কি খারাপ অভ্যাস?
নিম্নলিখিত নকশা বিবেচনা করুন public class Person { public virtual string Name { get; } public Person (string name) { this.Name = name; } } public class Karl : Person { public override string Name { get { return "Karl"; } } } public class John : Person { public …

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

5
অন্য ক্লাসের ক্লাসক্লেকশন তৈরি করা কি ভাল অনুশীলন?
আসুন বলুন আমার একটি Carক্লাস রয়েছে: public class Car { public string Engine { get; set; } public string Seat { get; set; } public string Tires { get; set; } } বলি আমরা একটি পার্কিং লট সম্পর্কে একটি সিস্টেম তৈরি করছি, আমি অনেক Carক্লাস ব্যবহার করতে যাচ্ছি , তাই …

5
কখন এবং কেন নেস্টেড ক্লাস ব্যবহার করবেন?
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করে আমাদের ক্লাসের (একটি নেস্টেড ক্লাস) ভিতরে একটি ক্লাস তৈরি করার ক্ষমতা আছে তবে আমি আমার 4 বছরের কোডিংয়ের অভিজ্ঞতায় কখনও নেস্টেড ক্লাস তৈরি করি নি। নেস্টেড ক্লাসগুলি কিসের জন্য ভাল? আমি জানি যে কোনও শ্রেণি বাসা বেঁধে থাকলে তাকে ব্যক্তিগত হিসাবে চিহ্নিত করা যেতে পারে …

3
Ptionচ্ছিক পরামিতি বা ওভারলোডেড কনস্ট্রাক্টর
আমি একটি বাস্তবায়ন করছি DelegateCommand, এবং যখন আমি কনস্ট্রাক্টর (গুলি) বাস্তবায়ন করতে যাচ্ছিলাম, আমি নিম্নলিখিত দুটি নকশা পছন্দ নিয়ে এসেছি: 1: একাধিক ওভারলোডেড কনস্ট্রাক্টর রয়েছে public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: alচ্ছিক প্যারামিটার …

10
আমরা কি নির্মাণকারী ছাড়া বাঁচতে পারি?
আসুন কোনও কারণে বলা যাক যে সমস্ত অবজেক্টগুলি এইভাবে তৈরি করা হয়েছে $জেজক = ক্লাস :: getInstance ()। তারপরে আমরা সেটারগুলি ব্যবহার করে নির্ভরতা ইনজেকশন করি এবং $ obj-> initInstance () ব্যবহার করে সূচনা শুরু করি; এমন কোনও বাস্তব সমস্যা বা পরিস্থিতি রয়েছে, যা সমাধান করা যায় না, যদি আমরা …

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

2
একই কাজটি করে এমন বিভিন্ন ফাংশন স্বাক্ষর সরবরাহ করা কি ভাল ধারণা?
এখানে একটি সি ++ শ্রেণি রয়েছে যা তিনটি মান দিয়ে নির্মিত হয়। class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; সমস্ত প্যারামিটারের ধরন আলাদা। আমি কন্সট্রাক্টরকে ওভারলোড করতে পারি যাতে অর্ডারটি কোনও ব্যাপার না। class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, int, char); Foo(char, …

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