ডিজাইনের নিদর্শনগুলি কি ভাল বা খারাপের জন্য সাধারণত শক্তি? [বন্ধ]


33

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

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

সুতরাং, সুবিধাগুলি এবং সমস্যাগুলি বিবেচনা করে ডিজাইনের ধরণগুলি সাধারণত ভাল বা খারাপ হয় এবং কেন?

উত্তর:


53

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

অ্যালেক্স: আরে, কনফিগার ফাইলগুলি কীভাবে তৈরি হয়?

বব: এগুলি একটি কারখানা দ্বারা উত্পাদিত হয়, যা এখানে থাকে config.h

এখন অ্যালেক্স জানে যে কনফিগারেশন ফাইল তৈরির ক্ষেত্রে অ-তুচ্ছ প্রস্তুতি জড়িত, কারণ অন্যথায় তাদের তৈরির কারখানায় আবদ্ধ না হত।

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

সুতরাং, প্রথমে প্রোগ্রাম করুন, তারপরে আপনার কোডগুলিতে দাগ দিন। এগুলি কার্যকরভাবে ব্যবহৃত হয়।


11
যাইহোক +1, তবে বিশেষত "তারপর স্পট প্যাটার্ন" - এটি ঠিক কীভাবে আমরা প্রথম স্থানে প্যাটার্ন পেয়েছি তবে পুনরাবৃত্তি সমস্যাগুলির সন্ধান করছে
ফ্র্যাঙ্ক শায়ারার

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

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

চমৎকার উত্তর. গৃহীত হওয়ার আমার সংজ্ঞা: যে কোনও কৌশলই বিল্ড চেইনে নির্বাহযোগ্য, সংকলনীয় শিল্পকর্ম হিসাবে চিহ্নিত হওয়ার পরেই গ্রহণ করা হবে। বিল্ড চেইনে কোনও একক বাস্তব নির্দেশের মূল্য পরিমাণ বই, ব্লগ এবং কঠোর প্রশ্বাসের হ্যান্ডওয়াভিং নেই।

14

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


10

ডিজাইনের নিদর্শনগুলি দুর্দান্ত, যদি সঠিকভাবে ব্যবহৃত হয়।

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

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

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


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

7

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

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

টিএল; ডিআর: ডিজাইন প্যাটারগুলি ব্যবহার করুন। শুধু তাদের অপব্যবহার করবেন না


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

2

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


এখনও সেই ভাষাগুলি ব্যবহার করার পরিবর্তে যা এই নিদর্শনগুলিকে কম প্রয়োজনীয় করে তোলে (প্রচলিত লিস্প এবং স্মলটালকটি মনে মনে ঝাঁপ দেয়), লোকেরা এমন ভাষাগুলি ব্যবহার অব্যাহত রাখে যার জন্য বলা হয় বয়লারপ্লেট।
ফ্রাঙ্ক শায়ারার

আমার চিন্তা ঠিক.
মিসিংফ্যাক্টর

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

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

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

0

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

নিদর্শনগুলির সম্পর্ক বোঝার এবং কোনও প্রকল্পে একটি প্যাটার্ন দেখতে পারা (গর্ভধারণের পর্যায়ে থাকাকালীন) যা আপনাকে একটি ভাল বিকাশকারী করে তুলবে।


0

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

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

নকশা প্যাটার্ন এনক্যাপসুলেশন শ্রেণিবদ্ধ

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


0

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

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


0

উভয় শিবিরই সঠিক - এগুলি সঠিকভাবে ব্যবহার করার সময় তারা ভাল করার জন্য একটি শক্তি, যদি সমস্ত জায়গায় ছড়িয়ে ছিটিয়ে থাকে তবে খারাপের জন্য একটি শক্তি।


0

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


0

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

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

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

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