আঙ্কেল বব মার্টিনের প্রিন্সিপাল অফ ক্লিন আর্কিটেকচারের ভিডিওটিতে আমি ধারণাগুলি সত্যিই পছন্দ করেছি। তবে আমি অনুভব করি যে এই প্যাটার্নটি এর মূল অংশে অ্যাবস্ট্রাক্ট ফ্যাক্টরি এবং বিল্ডার নিদর্শনগুলির সংমিশ্রণের মতো।
কাছেও নয়।
আপনি এই তাকান যখন:
আপনি একটি অবজেক্ট গ্রাফের নকশাটি দেখছেন। এটি কি সম্পর্কে জানেন কী নির্দেশ করে। এই গল্পটি থেকে কী অনুপস্থিত তা হ'ল সেই বস্তুটির গ্রাফটি কীভাবে তৈরি হয়েছিল। দুঃখিত তবে আপনি এটি এখানে পাবেন না। নির্মাণের কোনও উল্লেখ নেই।
আপনি বিমূর্ত কারখানা এবং বিল্ডার ছাড়াই এই সমস্ত নির্মাণ করতে পারেন। আমি জানি কারণ আমি এটা করেছি । আমি এগুলি এড়াতেও বেরোনাম না। আমি তাদের ভালবাসি. আমি তাদের প্রয়োজন হবে না। আমি সবেমাত্র রেফারেন্স পাসিং ব্যবহার করেছি। নির্ভরতা ইনজেকশন এটির জন্য অভিনব শব্দ।
প্রকৃতপক্ষে, আপনি যে চিত্রটি দেখছেন তাতে মূলত আমি যা কিছু তৈরি করতে পারি। তারপরে পুরো জিনিসটিকে টিক্ টিক করা শুরু করার জন্য কেবল একটি অবজেক্টে একটি পদ্ধতি কল করুন।
এখন আপনি এগুলিকে অন্য জিনিসগুলিতে স্থান দেওয়ার আগে জিনিসগুলির অস্তিত্ব থাকতে হবে। আমি এখানে এটি অন্বেষণ করেছি এবং এটি এই সুন্দর সুন্দর চিত্রটি দিয়েছি :
এবং আপনি না রেখেও এগুলি সবগুলি তৈরি করতে পারেন main()
।
আমি বিল্ডার এবং কারখানাগুলি ব্যবহার করার পরামর্শ দিচ্ছি যখন আপনি প্রসেসরিয়াল কনস্ট্রাকশন কোডের একটি গাদাটি সুন্দর কামড় আকারের ধারণাগত খণ্ডগুলিতে ভেঙে ফেলতে চান। তবে পরিষ্কার আর্কিটেকচার বা অন্য যে কোনও বাজওয়ার্ড আর্কিটেকচারে এমন কিছু নেই যা আপনি দাবী করুন। সুতরাং আপনি যদি আটকে রাখতে চান main()
, ঠিক আছে। দয়া করে, দয়া করুন ।
বব মার্টিনের "ক্লিন আর্কিটেকচার" কি সমস্ত আর্কিটেকচারের জন্য থাম্বের নিয়ম বা এটি কেবল বিকল্পগুলির মধ্যে একটি?
আমি ক্লিন আর্কিটেকচারকে লোকেদের একটি ব্লগ এবং বইয়ের দিকে চালিত করার জন্য ব্যবহৃত বাজওয়ার্ড হিসাবে বিবেচনা করি। সেই ব্লগ এবং বইটিতে পুরানো নামগুলি সহ পুরানো নামের সাথে খুব পুরানো আর্কিটেকচারগুলির খুব ভাল ব্যাখ্যা রয়েছে যা লোককে পুরানো ব্লগ এবং পুরানো বইগুলিতে চালিত করতে ব্যবহৃত হয়। বিশেষত পেঁয়াজ পাশাপাশি পোর্ট এবং অ্যাডাপ্টার। এর মধ্যে কোনওটিই আপনার কাছে একমাত্র আর্কিটেকচারাল বিকল্প নয়।
আমি চাচা ববকে পছন্দ করি কারণ তিনি একজন দুর্দান্ত স্পিকার এবং লেখক। তিনি আমাকে এমন জিনিস সম্পর্কে ভাবতে বাধ্য করেন যা আমার অন্যথায় না হয়। তবে আপনি যদি এমন কোনও ধর্মীয় জিলিওটিতে পরিণত হন যা জোর দিয়ে বলেন যে সবকিছু অবশ্যই তার মতো করা উচিত আপনি দ্রুত খুঁজে পাবেন যে ডকুমেন্টেশন আপডেট করা সবচেয়ে নিকটেই আমি আপনাকে আমার কোডটিতে পৌঁছে দেব।
আপনার দীর্ঘকালীন কোড থাকা অবস্থায় বুজওয়ার্ড আর্কিটেকচারগুলি দরকারী যখন এটির চারদিকে বিশ্ব পরিবর্তিত হওয়ার পরেও চলতে হবে। এটাই যখন জ্বলে। কোড যদি কোটির তুলনায় বিশ্ব স্থিতিশীল থাকে তবে আপনি কোনও অকারণে জিনিসকে অভিনব করে তুলছেন।
কোনও বিষয়কে যতই ভয়ঙ্কর মনে হচ্ছে কোনও প্রসঙ্গ রয়েছে যা আপনি এটিতে রাখতে পারেন এটি অযৌক্তিক করে তুলবে। দুঃখিত, এটি কোনও রূপালী বুলেট নয়।
তবে ভিডিওটিতে আমার মনে হয় তিনি পরামর্শ দিয়েছেন যে পরিষ্কার আর্কিটেকচারের ব্যবসায়ের যুক্তি এবং কাঠামোর মধ্যে একটি সুস্পষ্ট সীমানা থাকা উচিত। ফ্রেমওয়ার্ক (ওয়েব, অ্যান্ড্রয়েড, ইত্যাদি) এমন প্লাগইন হওয়া উচিত যা ব্যবসায়িক যুক্তিতে প্লাগ ইন করে। এমনকি ভিডিওটিতে তিনি রটকে সূক্ষ্মভাবে উপহাস করেছেন।
তুমি ঠিক বলছো. সে করে. চাচা বব মনে করেন ফ্রেমওয়ার্কগুলি লাইব্রেরির মতো আচরণ করা যেতে পারে। এবং তারা পারে। তবে এমনকি সেই সিদ্ধান্তটি আপনার জন্য কিছু ব্যয় করে।
মিঃ মার্টিন যা সংরক্ষণ করার চেষ্টা করছেন তা হ'ল একটি জায়গা যেখানে আপনার সাধারণ উদ্দেশ্য ভাষা এখনও সাধারণ। আপনি সর্বত্র একটি কাঠামো ছড়িয়ে দেওয়ার সময় আপনি তা ছেড়ে দিন। যখন আপনি এটি করেন যে আপনি কোনও ভাষাতে কোনও ডোমেন নির্দিষ্ট ভাষা বলে আত্মবিশ্বাসের পথে নামছেন। এইচটিএমএল একটি ডোমেন নির্দিষ্ট ভাষা। এটি খুব ভাল কাজ করে তবে অন্যান্য কাজও এটি করতে পারে না।
আপনার প্রয়োজনগুলি ফ্রেমওয়ার্ক দ্বারা প্রত্যাশিত যতক্ষণ পর্যন্ত জিনিসগুলি খুব সহজেই চলে যাবে। আপনার চাহিদা পূর্বাভাস পেয়ে ভাল লাগল। এটি আপনাকে এমন একটি বাক্সে রাখে যা জিনিসগুলি সহজ রাখে। এটি পেতে আপনি কী দিচ্ছেন তা কেবল বুঝতে পারেন। আপনি যদি সর্বত্র বসন্ত ছড়িয়ে দেন তবে আপনি এটিকে আর জাভা কাজের হিসাবে বিজ্ঞাপন দিতে পারবেন না। এটি জাভা / স্প্রিংয়ের কাজ। আমি রুবি এবং রেলস সম্পর্কে একই কথা বলতে পারি তবে রেলস অনেক দিন আগে রুবির দুপুরের খাবার খেয়েছিল।