আপনার যদি এমন কোনও সহকর্মী থাকেন যা কনসার্নস বিচ্ছিন্নকরণের সুবিধাগুলি বুঝতে পারেন না বা তাদের প্রতিদিনের কাজগুলিতে ধারাবাহিকভাবে প্রয়োগ করার জন্য যথেষ্ট পরিমাণে বুঝতে না পেরেছিলেন তবে আপনি কীভাবে তাদের কাছে এটি ব্যাখ্যা করবেন?
আপনার যদি এমন কোনও সহকর্মী থাকেন যা কনসার্নস বিচ্ছিন্নকরণের সুবিধাগুলি বুঝতে পারেন না বা তাদের প্রতিদিনের কাজগুলিতে ধারাবাহিকভাবে প্রয়োগ করার জন্য যথেষ্ট পরিমাণে বুঝতে না পেরেছিলেন তবে আপনি কীভাবে তাদের কাছে এটি ব্যাখ্যা করবেন?
উত্তর:
ভাবুন আপনার একটি প্রোগ্রাম প্রকাশিত হয়েছে যা প্রকাশিত হয়েছে। একজন গ্রাহক আসেন এবং এর বৈশিষ্ট্যগুলির মধ্যে একটিতে আপনাকে বর্ধনের জন্য অর্থ প্রদানের প্রস্তাব দেয়। অর্থ পাওয়ার জন্য, আপনাকে নতুন বৈশিষ্ট্য যুক্ত করতে আপনার প্রোগ্রামটি পরিবর্তন করতে হবে। আপনার লাভের মার্জিনটি কী কী তা প্রভাবিত করবে এমন কয়েকটি বিষয়:
উদ্বেগের বিচ্ছেদ আপনাকে এই প্রশ্নের আরও ইতিবাচক উত্তর পেতে সহায়তা করে।
একটি হাসপাতালের দিকে তাকান এবং রোগীর যত্ন প্রদানের সাথে জড়িত বিভিন্ন ভূমিকা সম্পর্কে ভেবে দেখুন: ট্রিয়েজ নার্স, ডাক্তার, চিকিত্সক সহায়ক, প্রযুক্তিবিদ, কেরানী কর্মী, ক্যাফেটেরিয়া ইত্যাদি
এমন একজন কি আছেন যে জানেন যে এই সমস্ত লোকেরা কীভাবে তাদের কাজ সম্পাদন করে? না, কারণ এটি অপ্রতিরোধ্য হবে। তাদের আলাদা আলাদা দায়িত্ব আলাদা আলাদা ভূমিকার মধ্যে আলাদা করতে হবে এবং এই ভূমিকাগুলির মধ্যে স্পর্শপয়েন্টগুলি খুব নির্দিষ্ট।
যদি সে কোনও অফিসে কাজ করে, উদাহরণ হিসাবে বিবেচনা করুন, সেই অফিসের প্রতিটি কর্মীর ভূমিকা ব্যাখ্যা করুন এবং তাকে জিজ্ঞাসা করুন, যদি সেই কর্মীরা তাদের কাজ অনুযায়ী ভাগ না করা হয় তবে কী হবে?
আমি কীভাবে তার কোড / ডিজাইনে এসসি প্রয়োগ করতে ব্যর্থ হয়েছিল এবং সেটিকে বাস্তব-বিশ্বের উদাহরণে পরিণত করতে পেরেছিলাম যার সাথে তিনি সম্পর্কিত হতে পারেন এবং এটি স্পষ্টতই অনাকাঙ্ক্ষিত।
উদাহরণস্বরূপ, যদি তার কোনও ক্লাস থাকে যেখানে ক্লায়েন্টকে এমন কয়েকটি টুকরো তথ্য সরবরাহ করতে হবে যা সেই ক্লায়েন্টদের জন্য প্রাসঙ্গিক নয়, তবে আমি এমন বেকারিটির সাদৃশ্য ব্যবহার করব যেখানে আপনি নিজের শস্য এবং খামির আনতে হবে যদি আপনি কিনতে চান একটি রুটি.
একটি উদাহরণ হতে পারে এইচটিএমএল বিকাশকারী এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্টকে পৃথক ফাইলে আলাদা করতে চাইতে পারেন। আপনি আলাদাভাবে লোড হওয়া জাভাস্ক্রিপ্ট ফাইলটি পরিবর্তন করে কেবল CSS বা কোনওটির আচরণ পরিবর্তন করে কোনও কিছুর চেহারা ও অনুভূতি পরিবর্তন করতে পারেন। আপনার যদি কোনও প্রতিক্রিয়াশীল বা অভিযোজিত সাইট থাকে তবে এই দৃষ্টান্তটি ভালভাবে কাজ করে আপনি কোনও ব্যবহারকারী ভিউপোর্ট বা ব্যবহারকারী এজেন্টের উপর নির্ভর করে বিভিন্ন সিএসএস বা জাভাস্ক্রিপ্ট লোড করতে পারেন। তবে আপনি যদি এইচটিএমএল বা টেমপ্লেটটি সংশোধন করেন তবে সম্ভাবনা হ'ল সিএসএস বা জাভাস্ক্রিপ্টটি ভেঙে যেতে পারে। এই পৃথক উদ্বেগ নির্ভরশীল হতে পারে।
আর একটি পদ্ধতি হ'ল আপনার সমস্ত সিএসএস জাভাস্ক্রিপ্ট এবং এইচটিএমএলকে উপাদান বা মডিউলগুলির একটি গ্রুপে বান্ডিল করা। এর অর্থ হ'ল আপনি একটি মডিউলে পরিবর্তন আনতে পারেন এবং এটি পৃষ্ঠার অন্যান্য উপাদান বা মডিউলগুলিকে প্রভাবিত করবে না যা এটি সম্পর্কিত নয় of এখানে সিএসএস, জেএসএস এবং এইচটিএমএল ফাইলগুলি একক উপাদানগুলিতে একত্রীকরণ করা হয়েছে যা ইউনিট পরীক্ষিত হতে পারে। সুতরাং উদ্বেগের বিচ্ছেদটি পৃথক পারমাণবিক উপাদানগুলির আকারে আসে যা মার্কআপ, স্টাইলিং এবং আচরণগত উপাদানগুলির পৃথকীকরণের পরিবর্তে ইউনিট পরীক্ষিত হতে পারে। এই দ্বিতীয় পদ্ধতির আরও জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য আরও উপযুক্ত।
সম্পাদনা করুন। যেহেতু আমি এই মন্তব্যে নেতিবাচক প্রতিক্রিয়া পেয়েছি আমি ভেবেছিলাম আমি এটি আবার ঘুরে দেখব এবং আমার কিছু pov এর যোগ্যতা অর্জনের চেষ্টা করব। দুর্ভাগ্যক্রমে এখানে কোনও প্রতিক্রিয়া বিশেষভাবে গঠনমূলক নয় তবে আমি অন্য কোথাও একটি আকর্ষণীয় আলোচনা দেখেছি যা প্রতিক্রিয়া, ওয়েব বিকাশের বর্তমান হট টেকনোলজি, একটি বাস্তব বিশ্বের উদাহরণ, এবং জিজ্ঞাসা করেছে যে এটি উদ্বেগের বিচ্ছেদ বা বিশেষত যদি এটির একটি ভেঙে যায় নীতিটি ফেদার এর সলিউড অবজেক্ট ওরিয়েন্ট ডিজাইন পদ্ধতিটির।
প্রযুক্তিগত জাভাস্ক্রিপ্ট বিকাশকারী দৃষ্টিভঙ্গি
NO, because JSX is a view language. That's one responsibility.
BUT, this implies that the JS developer is self-enforcing SoC/SRP on his own architecture by not mixing ViewModel concerns in his JSX. This type of vigilance "in the wild" is highly suspect because JSX involves the full JavaScript dialect.
ইউএক্স / ইউআই ডিজাইনার দৃষ্টিভঙ্গি
YES, because JSX mixes Semantic Content (Model) with Behavior (Controller)
YES, because the intrusion, specifically of JavaScript, into the Semantic Model makes it difficult or impossible for me to play my role and leverage my expertese and skills.
দল দৃষ্টিকোণ
NO, if both...
Separate files are used for the View (JSX) and ViewModel (JS).
Either there aren't UI/UX/Designers involved, or they are productive working directly with JSX (not very common).
YES, if either...
Everything is in the same file, causing problems for version control or productive use of modern editors.
Members of the team who are comfortable with HTML/CSS but less capable with JavaScript are excluded because of mixture or roles.
এছাড়াও পৃষ্ঠায় হ'ল ফেসবুকের পিট হান্টের একটি আকর্ষণীয় উপস্থাপনার লিঙ্ক, যেখানে তিনি টেমপ্লেট নয় এমন উপাদানগুলির বিষয়ে কথা বলেছেন এবং কাঠামোর উদ্বেগকে আলাদা করার পরিবর্তে ভাষা প্রয়োগে উদ্বেগগুলি পৃথক করে, অর্থাৎ টেমপ্লেট, সিএসএস এবং জাভাস্ক্রিপ্ট প্রভৃতি
আপনার অ্যাপ্লিকেশনটির ভাষায় আপনার উদ্বেগগুলি আলাদা করার সাথে সাথে এটি আপনার কোডকে আলাদা করে বা মেকুলার আকারে ডিকুয়াল করতে বিভিন্ন প্যাটার্ন ব্যবহার করতে পারে যা ইউনিট পরীক্ষিত হতে পারে ইত্যাদি could
সুতরাং সংক্ষিপ্তসার হিসাবে, উদ্বেগগুলি আলাদা করা আপনার ভূমিকা বা দৃষ্টিভঙ্গির উপর নির্ভর করতে পারে, যেখানে উল্লেখ করা হয়েছে।