রাজ্যহীন বনাম স্টেটফুল


95

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

আমি মনে করি এটি জানা গুরুত্বপূর্ণ কারণ আমি বিশ্বাস করি যদি আমি এটি বুঝতে পারি তবে আমি আরও ভাল কোড লিখতে পারি (উদাঃ গ্রানুলারিটি মনে রেখে)।

যাইহোক, সত্যিই সংক্ষিপ্ত, এখানে আমি কী জানি 'স্টেটফুল বনাম রাজ্যহীন:

স্টেটফুল (উইনফোর্ডসের মতো): আরও ব্যবহারের জন্য ডেটা সঞ্চয় করে তবে কোনও অ্যাপ্লিকেশনের স্কেলিবিলিটি সীমাবদ্ধ করে কারণ এটি সিপিইউ বা মেমরির সীমা দ্বারা সীমাবদ্ধ

স্টেটলেস (এএসপি.নেটের মতো - যদিও এএসপি ভিউস্টেটগুলির সাথে স্থিতিযুক্ত হওয়ার চেষ্টা করে): ক্রিয়া সম্পন্ন হওয়ার পরে ডেটা স্থানান্তরিত হয় এবং উদাহরণটি থ্রেড পুলে (অমার্ফাস) ফেরত দেওয়া হয়।

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

উত্তর:


58

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

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

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


ঠিক আছে, তথ্যের জন্য ধন্যবাদ, আমি লিঙ্কটি একবার দেখেছিলাম এবং আমি কিছু আকর্ষণীয় তথ্য পেয়েছি! যদিও আমি এখনও আরও
কিছুর

আমি আরও একটি ক্ষেত্র যুক্ত করেছি যে রাষ্ট্রীয় এবং রাষ্ট্রহীন একটি গুরুত্বপূর্ণ উপাদান (RESTful ওয়েব পরিষেবাদি)।
কেজিয়ান্নাকাকিস

তথ্যের জন্য ধন্যবাদ! আমি আপনার জবাবটি দিয়েছি তবে আমার কাছে এখনও যথেষ্ট সংবাদ নেই> _>
টিম-জোকি

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

86

রাষ্ট্রহীন মানে অতীতের কোনও স্মৃতি নেই। প্রতিটি লেনদেন এমনভাবে করা হয় যেন এটি প্রথমবারের জন্য করা হচ্ছে।

রাষ্ট্রীয় অর্থ হ'ল অতীতের স্মৃতি রয়েছে। পূর্ববর্তী লেনদেনগুলি মনে রাখা হয় এবং বর্তমান লেনদেনকে প্রভাবিত করতে পারে।

রাষ্ট্রহীন:

// The state is derived by what is passed into the function

function int addOne(int number)
{
    return number + 1;
}

বিবৃত:

// The state is maintained by the function

private int _number = 0; //initially zero

function int addOne()
{
   _number++;
   return _number;
}

এর থেকে দেখুন: /software/101337/whats-the-differences-between-stateful-and-stateless


73

একটি রাষ্ট্রীয় অ্যাপ্লিকেশন হ'ল এটি চলমান শুরু হওয়ার পরে কী ঘটেছিল বা পরিবর্তিত হয়েছে সে সম্পর্কে তথ্য সংরক্ষণ করে। এটি "মোড" কী আছে বা কয়টি রেকর্ড প্রক্রিয়াজাত হয়েছে বা যা কিছু হোক না কেন এটি কোনও রাষ্ট্রীয় তথ্য এটিকে রাষ্ট্রীয় করে তোলে।

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


18

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


নিশ্চিত নয় যে session identifierপ্রতিটি অনুরোধটি পাস করা রাষ্ট্রবিহীন বলে বিবেচিত হতে পারে। আমার দৃষ্টিতে এ জাতীয় মামলা রাষ্ট্রীয় বলে বিবেচিত হবে। তবে, যদি আপনি সর্বদা tokenব্যবহারকারীর জন্য একটি পাস করেন তবে এটি রাষ্ট্রহীন ছাড়া অন্য কোনও রাজ্য রাখেন না। তবে রাষ্ট্রীয় এক্সডি অনুভব করে। এটি এত বিভ্রান্তিকর।
7hi4g0

4

অনলাইনে ফর্ম এক অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে স্থানান্তরিত অর্থ রাষ্ট্রীয়, কারণ গ্রহণকারী অ্যাকাউন্টে প্রেরকের সম্পর্কে তথ্য রয়েছে। একজন ব্যক্তির কাছ থেকে অন্য ব্যক্তির নিকট নগদ হস্তান্তর করার পরে, এই লেনদেন স্থবির, ​​কারণ নগদ প্রাপ্তির পরে প্রদানকারীর পরিচয় পুনরুদ্ধারের পরে নগদ থাকে না।


1

কেবল অন্যের অবদানগুলিকে যুক্ত করার জন্য .... অন্য উপায়টি এটি একটি ওয়েব সার্ভার থেকে দেখানো এবং একমত হওয়ার দৃষ্টিকোণ ...

HTTP- র হচ্ছে একটি কারণ জন্য প্রকৃতিতে কোন দেশেরই নাগরিক নয়, একটি ওয়েব সার্ভারের যদি ... stateful মানে তাদের শেষ সংযোগের জন্য একটি ব্যবহারকারীর 'রাষ্ট্র' মনে রাখতে হবে যে হবে, এবং / অথবা অনুরোধকারীকে প্রতি একটি খোলা সংযোগ রাখা। হাজার হাজার একযোগে সংযোগ সহ একটি অ্যাপ্লিকেশনটিতে এটি খুব ব্যয়বহুল এবং 'চাপযুক্ত' হবে ...

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



-3

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

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