সাধারণ ভাগ করা পদ্ধতিগুলি কোথায় রাখবেন


9

আমার কাছে প্রচুর পদ্ধতি রয়েছে যা সর্বত্র ব্যবহৃত হয়। এই মুহুর্তে কোডফাইলটির নাম বিশ্বব্যাপী রাখা হয়েছে, তারা সত্যত ... বিশ্বব্যাপী এই সত্যটি উপস্থাপন করতে।

তবে, আমি এটি পছন্দ করি না।

আমি এগুলিকে একটি ক্লাসে গ্রুপ করতে এবং চারপাশে একটি ইন্টারফেস পাস করতে চাই। আমি কেবল একটি উদাহরণ তৈরি করব, তবে আমি এখানে সিঙ্গলটন ফাঁদে পড়ছি না।

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

এছাড়াও, কীভাবে আচরণের পরিবর্তন ও মানিয়ে নিতে পারে এমন পদ্ধতির সেটকে বিভক্ত করার বিষয়টি আমার বিবেচনা করা উচিত?

পদ্ধতির সেটটিতে এই জাতীয় উপাদান রয়েছে:

  • রূপান্তর সারণী
  • ক্লিপবোর্ড ইন্টারঅ্যাকশন
  • বিল্ট ফন্ট পরিচালনা
  • সাধারণ অঙ্কন পদ্ধতি
  • প্রায়শই ব্যবহৃত সম্পদে অ্যাক্সেস সহ একটি ইন্টারফেস সরবরাহ করা

এগুলি কি খাঁটি ইউটিল পদ্ধতিগুলির মতো যা রাষ্ট্র সংরক্ষণ করে না বা তারা রাষ্ট্রকে সংরক্ষণ করে?
TheLQ

সিঙ্গলটন ফাঁদে না পড়ার জন্য +1।
কালেব

@TheLQ তারা অগত্যা রাষ্ট্র সংরক্ষণ করবে না, তবে তারা সুবিধার জন্য কনস্ট ডেটা (রূপান্তর চার্টের মতো) ধরে রাখবে।
লি লুভিয়ের

উত্তর:


4

নাম স্থান হতে পারে [application].Common.Shared

ক্লাসগুলির নাম দেওয়া যেতে পারে:

ConversionLookup
ClipboardCommunication
FontManager
DrawingUtility

আমি ক্লাসগুলি ভেঙে ফেলতাম কারণ মনে হয় তারা বিভিন্ন জিনিস করে।


1

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

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

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


1

আমি সাধারণত এই জাতীয় জিনিসগুলিকে তাদের নিজস্ব সমাবেশে "foo.Common" এর মতো কিছু "foo.Common. সংগ্রহ" বা "foo.common.UI" ইত্যাদির মতো নামের জায়গাগুলির মধ্যে রাখি, তারপরে যে কোনও প্রকল্পে আমি সমাবেশটি উল্লেখ করতে পারি আমার তাদেরকে দরকার.

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