ফ্লাক্স প্যাটার্ন বোঝা


12

আমি আসলে সর্দি প্যাটার্ন অধ্যয়নরত করছি এবং সেখানে এমন কিছু বিষয় যা আমি বিষয়ে বুঝতে পারে না পারে দোকান

তারা ঠিক কি?

আমি অনেক নিবন্ধ পড়েছি, এবং মনে হয় এটি ডোমেনটিকে নিয়ে উদ্বেগ প্রকাশ করেছে।

এর অর্থ কি এটি এই যে "এ্যাবস্ট্রাক্ট" অংশটি এপিআই কল বা ব্যাকএন্ড কল সম্পর্কিত?

এটি আমার পক্ষে খুব পরিষ্কার নয়।

সম্পাদনা: এটি কৌণিক কারখানার মতো একই জিনিস হতে পারে? দূরবর্তী ডেটা আনা, কোনও ব্যবসায়ের টাস্ক তৈরি করা বা কিছু অ্যাপ স্টেট সংরক্ষণ করা (উদাহরণস্বরূপ বর্তমান ব্যবহারকারী সংযুক্ত)?


1
আপনি ঠিক কী বিষয়ে কথা বলছেন তার একটি লিঙ্ক সহায়ক হবে। আপনি কি এই "ফ্লাক্স প্যাটার্ন" বলতে চান? fluxxor.com/hat-is-flux.html
ডগএম


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

উত্তর:


23

ঠিক আছে আমি আপনাকে ধাপে ধাপে থেকে ব্যাখ্যা করব

1 ফ্লাক্স কি?

  • একটি প্যাটার্ন
  • কেন্দ্রীভূত প্রেরণকারী
  • একমুখী ডেটা প্রবাহিত
  • তালিকাবদ্ধ

তারা একে কোনও কারণে ফ্লাক্সও বলে।

ফ্লাক্স বাস্তবায়ন

  • ফেসবুকের ফ্লাক্স
  • অল্টার
  • প্রতিপ্রবাহ
  • বিহ্বল করা
  • NuclearJS
  • Fluxible

এখানে চিত্র বর্ণনা লিখুন

ফ্লাক্সের সাথে একটি চ্যাট

প্রতিক্রিয়া : আরে অ্যাকশন, কেউ এই "সেভ কোর্স" বোতামটি ক্লিক করেছেন।

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

প্রেরণকারী : আমাকে দেখা যাক যে কোনও কোর্স সংরক্ষণের বিষয়ে যত্নশীল। আহ! দেখে মনে হচ্ছে স্টোরটি আমার সাথে একটি কলব্যাক রেজিস্ট্রেশন করেছে, তাই আমি তাকে জানিয়ে দেব।

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

প্রতিক্রিয়া : ওও! দোকান থেকে চকচকে নতুন তথ্য! আমি ইউআই আপডেট করব এটি প্রতিফলিত করতে!


ফ্লাক্স এপিআই


নিবন্ধ (ফাংশন কলব্যাক) - “আরে প্রেরণকারী, ক্রিয়াগুলি ঘটলে আমাকে চালান। -Store "

নিবন্ধভুক্ত (স্ট্রিং আইডি) - “আরে প্রেরণকারী, এই ক্রিয়াটি সম্পর্কে উদ্বিগ্ন হওয়া বন্ধ করুন। -Store "

ওয়েটফোর্ড (অ্যারে আইডি) - "প্রথমে এই স্টোরটি আপডেট করুন। -Store "

প্রেরণ (অবজেক্ট পেলোড) - “ওহে প্রেরণকারী, এই ক্রিয়াকলাপ সম্পর্কে দোকানগুলিকে বলুন। -কর্ম"

#Dispatching () - "আমি এখনই কলব্যাক প্রেরণে ব্যস্ত।"

সুতরাং আমাদের মনে প্রশ্ন উত্থাপন হয়

সুতরাং ফ্লাক্স কি কোনও প্রকাশনা-গ্রাহক মডেল?

বেশ না।

দুটি উপায়ে পৃথক:

1. প্রতিটি পেইলড সমস্ত নিবন্ধিত কলব্যাকগুলিতে প্রেরণ করা হয়।

2. কলব্যাকগুলি অন্যান্য কলব্যাকের জন্য অপেক্ষা করতে পারে

সারসংক্ষেপ

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


আমার প্রথম সমস্যাটি হ'ল রাষ্ট্রটি অ্যাপ্লিকেশনটিকে রিমোট এপিআই সত্ত্বার বিভিন্ন ডেটা রাখতে দেয়: - /
এমফ্রেচেট

রাষ্ট্র দ্বারা আপনি কি বলতে চান? যেখানেই ইমিট চেঞ্জ বলা হয় এটি প্রতিক্রিয়া দেখায় এবং আবার রাষ্ট্র পরিবর্তন পদ্ধতি হিসাবে পরিচিত হবে
ধাওয়াল প্যাটেল

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

এখন কোথায় আমি খুঁজে পাব। সমস্ত প্রেরণকারী এবং স্টোর যদি করণীয় করে থাকে তবে দেখার জন্য কেন সরাসরি পদক্ষেপ নেওয়া যায় না। কেন
মুহাম্মদ উমার

@ মুহাম্মাদ উমর: অ্যাপ্লিকেশনটির জন্য ডিসপ্যাচার অন্যতম এবং স্টোর অ্যাপ্লিকেশনটির উপাদানগুলির উপর ভিত্তি করে যাতে অপ্রয়োজনীয় মধ্যস্থতাকারীদের পরিচয় করিয়ে দেওয়া হয়
ধাওয়াল প্যাটেল

1

একটি সাধারণ উদাহরণ অনুসন্ধান করা ( https://github.com/facebook/flux/tree/master/example/flux-todomvc/ ), "স্টোরগুলি অ্যাপ্লিকেশনের মধ্যে একটি নির্দিষ্ট ডোমেনের জন্য অ্যাপ্লিকেশনের স্থিতি পরিচালনা করে That" অ্যাপ্লিকেশনটির কোনও দিকের স্থিতি এবং এটি পরিবর্তন করার জন্য সমস্ত কোডের ডেটা। যখনই ডিসপ্যাচারের কাছ থেকে কোনও নতুন আপডেট আসবে, সমস্ত স্টোরগুলি এটি দেখবে, তারা প্রতিক্রিয়াতে কীভাবে তাদের ডেটা আপডেট করবে তা স্থির করে এবং তারপরে তারা ডেটা পরিবর্তিত হয়েছে বলে দৃশ্যের বিষয়ে অবহিত করে। উদাহরণগুলিতে স্টোরগুলিতে "অদেখা থ্রেডের তালিকা" এর মতো জিনিস রয়েছে (যেখানে ডিসপ্যাচার তাদের জানিয়ে দেয় যে কোনও নতুন বার্তা এসেছে বা পুরানোটি পড়েছে এবং ভিউগুলি ব্যবহারকারীকে বার্তা থ্রেড প্রদর্শন করে) এবং "বর্তমান প্লেব্যাক সময় এবং অবস্থা."

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


0

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

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