কিছু হওয়ার সাথে সাথে কোনও শব্দ বাজানোর ভাল উপায়? কেমন লাগছে এই শব্দ?


10

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

তাই .. আমি ভাবছিলাম ..

তার পরিবর্তে, এখানে কিছু AudioSystemশ্রেণি ছিল এবং এটি যা করেছে তা অন্য শ্রেণীর সাথে আগ্রহী এলোমেলো ইভেন্টগুলিতে সাবস্ক্রাইব হয়েছিল। উদাহরণস্বরূপ, ক্লাসটির Characterকোনও Jumpedইভেন্ট থাকতে পারে (স্থির এছাড়াও, আমি মনে করি) যা Characterপদ্ধতিতে শ্রেণীর মধ্যে উত্থাপিত হয়েছিল । তারপরে, Characterশ্রেণিটি অক্ষরটি ঝাঁপিয়ে পড়লে যে ছোট্ট সাউন্ড এফেক্টটি বাজানো হয় সে সম্পর্কে কিছুই জানত না। AudioSystemশুধু একটি বিশাল বর্গ যে প্রোগ্রামার নির্দিষ্ট ঘটনা স্ট্যাটিক ঘটনা ব্যবহারের মাধ্যমে খেলা ঘটতে সঙ্গে সাউন্ড ইফেক্ট হুক আপ নিকট আশ্রয় ভূমিকা পালন করেনি। তারপর, যদি এটা খুব বড় পেয়েছিলাম এটা পছন্দ উপশ্রেণী করার জন্য পৃথক করা যেতে পারে EffectsAudioSystem, BackgroundAudioSystem, AmbientAudioSystem, ইত্যাদি ইত্যাদি।

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

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


5
একটি সাউন্ড আইডিয়াসের মতো মনে হচ্ছে :) (আরও গুরুতর
দ্রষ্ট্রে:

1
এটি এভাবেই করা হয়েছে, আপনার রেন্ডারিংটি পাশাপাশি পৃথক শ্রেণিতে স্থাপন করা উচিত, যদি আপনি ইতিমধ্যে (যেমন হিসাবে থাকেন না তবে, অক্ষর শ্রেণিতে আপনার একটি অঙ্কন () ফাংশন করা উচিত নয়)।
dreta

উত্তর:


2

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

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

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

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

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


1
কীভাবে একটি ভাল ডিজাইন করা মেসেজিং সিস্টেম "গভীর কাপলিংয়ের আরও একটি উপায়"? বার্তাগুলি প্রেরণ হ'ল অবজেক্টে কখনও যোগাযোগ না করে সর্বনিম্ন মিলিত হয়। আপনি এটি যেভাবে ডিজাইন করেছেন তা সমস্যার কারণ হতে পারে তবে যদি সিস্টেমটি কেবল একটি শব্দ, অবস্থান গ্রহণ করে এবং এটি টাইপ করে তবে তার সমস্ত সমস্যার সমাধান করে এবং আপনার প্রস্তাবিতগুলির মধ্যে কোনওটিরই উপস্থিত নাও হতে পারে। অডিও সিস্টেমটি কোনও সেটিংসের সমস্ত বিমূর্ততা পছন্দ করতে এবং পছন্দসই প্রসারিত সমস্যাগুলির জন্য কোন শব্দটির প্রয়োজন তা গণনা করা উচিত নয়।
en.wikedia.org/wiki/Coupling_( কম্পিউটার_প্রগ্রামিং

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

1
তবে OnJumpEvent ব্যবহার করার সময়, আপনি হয় ইভেন্টে চরিত্রের রেফারেন্স যুক্ত করতে বা চরিত্র থেকে সমস্ত গুরুত্বপূর্ণ ডেটা ইভেন্টে অনুলিপি করতে পারেন। অবশ্যই আপনি ঠিক বলেছেন, পরবর্তীকালে একটি গভীর মিলন প্রবর্তন করবে না, তবে এটি ডেটা ডুপ্লিকেশন সমস্যা এবং একটি নতুন ডেটা-পাসিং অবজেক্টে ভুগবে যা অন্যান্য সমস্ত নতুন ইভেন্টের মতো বজায় রাখতে হবে।
মাইক সেমদার

1
-১ কারণ হিসাবে আমি একমত যে বার্তাটি এত বিশেষায়িত করা (ওনজাম্প) সম্ভবত একটি খারাপ ধারণা, এটি কোনও ব্যক্তিকে নাম গ্রহণ করে এমন একটি প্লে সাউন্ড ইভেন্ট তৈরি করতে দরকারী তথ্যের পরিবর্তে এটি 'দীর্ঘই নয় এটি একটি খারাপ ধারণা' is একটি শব্দ প্রভাব এবং একটি 3D অবস্থান এবং / বা ভলিউম যা এটি ঘটেছিল।
জেমস

@ জেমস ইনপুটটির জন্য ধন্যবাদ, আমি প্লে সাউন্ড ইভেন্টটি ব্যবহার করার অর্থ বোঝাতে চাইনি, আমি বলতে চাইছি ঘটনাগুলি জিইউআই-ডাটাবেস অ্যাপ্লিকেশনটির জন্য একটি দুর্দান্ত বিমূর্ততা, তবে জটিল গেমের জন্য ব্যবহারিক নয়।
মাইক সেমদার

2

আমি মনে করি না কোনও ম্যাসেজ পাসিং সিস্টেমটি ইঞ্জিনিয়ারিংয়ের শেষ নয়। আসলে এটি পোলিশ পর্যায়ে কাজ করা নাটকীয়ভাবে সহজ করে তুলতে পারে। তুমি এটি ঠিক করতেছ!

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

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

উদাহরণ

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

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

যাইহোক, আমাদের গেম অডিও সিস্টেমটি বিভিন্ন বার্তায় কীভাবে প্রতিক্রিয়া জানিয়েছিল তা এখানে:

  • প্লেয়ার গ্রহের সাথে সংঘর্ষিত হয়েছে: এটি গ্রহের বিস্ফোরণের শব্দকে ট্রিগার করবে, এটি যথেষ্ট প্রাথমিক। তারপরেই এটি চলমান কম্বো কাউন্টারটিকে জিজ্ঞাসা করবে। এটি যথেষ্ট পরিমাণে বেশি হলে এটি ডাইনোসরটির অর্ধ সেকেন্ড বা তার পরে একটি বিজয় গর্জন করার মতো শব্দ প্রভাব নির্ধারণ করে। এছাড়াও ব্যাকগ্রাউন্ডে একটি এলোমেলো গ্রহের জনসংখ্যার মান গণনা করা হত (600০০ থেকে ৩০০০ এর মতো কিছু - আমি জানি না কেন এই ব্যাপ্তিটি বেছে নেওয়া হয়েছিল, এটি কিছু পরিত্যক্ত গেমপ্লে যান্ত্রিক ছিল এবং এখনও অডিওকে আকর্ষণীয় করে তুলতে আমার কাছে পড়ে আছে), এবং তাই আমি চিৎকারের দূরবর্তী শব্দগুলির ভলিউম পরিমাপ করতে এটি ব্যবহার করেছি (গ্রহ নাগরিকরা একটি অকাল ভাগ্য দেখা করছেন)।

  • প্লেয়ার ত্বরণের জন্য স্পেসবারটি ধরে রেখেছে: এটি পাওয়ার পরে সামান্য "হুশ" থ্রাস্টার শব্দ বাজানো হয়েছিল, তবে একই সাথে একটি নিম্ন লুপযুক্ত ইঞ্জিন গর্জনটি 1.5 সেকেন্ডেরও বেশি ছড়িয়ে পড়ে। কণা সিস্টেম এটি ব্যবহার করে একটি এমির্টার আইআইআরসি ফায়ার করতেও

  • প্লেয়ারটি হ্রাসের জন্য স্পেসবারে যেতে দেয়: প্লেয়ারটি স্পেসবারটি ছাড়ার পরে, অডিও সিস্টেমটি জানত যে এটি ইঞ্জিনের লুপটি আবার নিচে নামাতে হবে। আমি যদি আরও সময় পাই তবে আমি এটির উপরে আরও একটি শব্দ স্তরটি পছন্দ করতে চাই wh

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

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

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

[সম্পাদনা] এছাড়াও, আমি দেখতে পাচ্ছি আপনি এই সি # ট্যাগ করেছেন। এটি কি এক্সএনএ, এবং যদি তাই হয় আপনি এক্সএসিটি ব্যবহার করছেন? আপনি যদি এক্সএনএ ব্যবহার করছেন তবে আপনার উচিত এক্সএসিটি ব্যবহার করা।


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

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

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

@ মাইকসেমদার কীভাবে কল কলগুলি তাদের নিজস্ব জঞ্জাল ওয়েবের মধ্যে শেষ হয় না? এছাড়াও, আমি কোনও ইভেন্ট সিস্টেমের মধ্যে সেই পার্থক্যটি নোট করার চেষ্টা করেছি এবং ডাব্লুওয়াই এবং এফএমওডি দ্বারা ব্যবহৃত "ইভেন্ট"। আমি যে ধারণাটি পেয়ে যাচ্ছি তা হ'ল জটিল অডিও যুক্তি গেম অবজেক্ট ক্লাসের সাথে সম্পর্কিত নয় এবং শব্দ লজিকের বিমূর্ততা এড়িয়ে যায় যে কোনও ইভেন্ট প্রেরণের অনুরূপ ইন্টারফেসটি সমৃদ্ধ অডিও যুক্তিযুক্তিকে সহজ করে তোলে। আমি সত্যিই EventManager->dispatch("Sound:PlayerJump")এবং এর মধ্যে সামান্য কার্যকরী পার্থক্য দেখতে পাচ্ছি soundSystem->playFMODEvent("/MyGame/Player/Jump")
michael.bartnett

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

0

আমি মাইক সেমডারের সাথে একমত, একটি বার্তা পাসিং সিস্টেম ওভার ইঞ্জিনিয়ারিং হতে পারে (এখনই হোক)।

আমি যা বুঝতে থেকে, আপনার বর্গ বর্তমানে বিয়ন্সের "একশিলা শ্রেণী" দেখে মনে হচ্ছে হিসাবে "একটি একশিলা শ্রেণী" দেখা যায় এখানে

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

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