ব্ল্যাকবোর্ড প্যাটার্ন আধুনিক জাভা বাস্তবায়ন?


11

"দ্যা প্রগমেটিক প্রোগ্রামার" -তে ব্ল্যাকবোর্ড প্যাটার্নের জাভাতে ব্যবহারিক আধুনিক অ্যাপ্লিকেশনটির জন্য কি বিশদ রয়েছে ? এই ধারণাটি বাস্তবায়নে কোন বিশেষ গ্রন্থাগার সহায়তা করার চেষ্টা করে? বর্তমান সফ্টওয়্যার সম্প্রদায়ের (বিশেষত জাভা) এই ধরণ সম্পর্কে সাধারণ Whatকমত্য কী?

ধারণাটি আকর্ষণীয় হলেও, আমার মনে হচ্ছে বইটির এই অংশটি পুরানো হতে পারে।

আপনি যদি এই ধারণার সাথে পরিচিত না হন: http://flylib.com/books/en/1.315.1.55/1/


এটিও পরীক্ষা করে দেখতে চাই: স্ট্যাকওভারফ্লো.com
স্টিভেন ইভার্স

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

উত্তর:


6

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

বসন্ত একই, প্রতিটি প্রসঙ্গে এক্সএমএল ফাইল (উদাহরণস্বরূপ) বসন্ত প্রসঙ্গে (হোয়াইটবোর্ড) অবজেক্টগুলিতে অবদান রাখতে এবং ব্যবহার করতে পারে।

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

স্প্রিং ডায়নামিক মডিউল, ওএসজি এবং হোয়াইটবোর্ড প্যাটার্ন (পৃষ্ঠা 51) এর মধ্যে সম্পর্কের বিষয়ে একটি টিউটোরিয়াল কাগজ এখানে রয়েছে ।

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


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

2

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

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


1
আমার মনে হয় রিট্যাগাররা কিছুটা অতিমাত্রায়। আমি এটিকে ডিজাইনের ধরণের চেয়ে আরও একটি স্থাপত্য নিদর্শন বিবেচনা করব of কারখানার প্যাটার্নের চেয়ে এসওএর সাথে আরও বেশি সংযুক্তি। হতে পারে আমার 'প্যাটার্ন' শব্দটি ব্যবহার করা উচিত ছিল না
smp7d

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

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

0

অপেরাবিবিএস (ওপেন ব্ল্যাকবোর্ড সিস্টেম) ব্ল্যাকবোর্ড প্যাটার্নটির ব্যবহার সমর্থন করার জন্য জাভা প্রয়োগের মতো দেখাচ্ছে।

তাদের ওয়েবসাইট থেকে :

ওপেনবিবিএস নমনীয় কর্মপ্রবাহের বিকাশের জন্য একটি ওপেন এবং এক্সটেনসেবল ব্ল্যাকবোর্ড সিস্টেম। ব্ল্যাকবোর্ড প্যাটার্ন গ্রহণের মাধ্যমে নমনীয়তা অর্জন করা যায়। ওপেনবিবিএস মডুলার এবং এমবেডেবল যা এটি কর্মপ্রবাহের জন্য হালকা আলো সমাধান করে।

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

একমাত্র ক্ষতি হ'ল এটি সর্বশেষ (এবং কেবল?) প্রকাশটি 2007 থেকে মনে হচ্ছে।

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