
সফটওয়্যার আর্কিটেকচার নিয়ে গ্র্যাডি বুচের একটি টুইট সিরিজ:
https://twitter.com/Grady_Booch/status/1301810358819069952
সফটওয়্যার-নিবিড় সিস্টেমের আর্কিটেকচার সম্পর্কে একটি থ্রেড।
সফটওয়্যার-নিবিড় সিস্টেমের জগতে স্কেলে ওয়েব-কেন্দ্রিক প্ল্যাটফর্মের চেয়ে আরও অনেক কিছু রয়েছে।
একটি ভাল আর্কিটেকচার স্পষ্ট বিমূর্তকরণ, উদ্বেগের একটি ভাল বিভাজন, দায়িত্বের একটি স্পষ্ট বিতরণ এবং সরলতা দ্বারা চিহ্নিত। বাকি সব বিস্তারিত।
আপনি একটি সফটওয়্যার-নিবিড় সিস্টেমের জটিলতা কমাতে পারবেন না; আপনি যা করতে পারেন তা হল এটি পরিচালনা করা।
সময়ের পূর্ণতায়, সমস্ত প্রাণবন্ত আর্কিটেকচার অবশ্যই বিকশিত হবে।
পুরানো সফটওয়্যার কখনো মরে না; আপনাকে এটি হত্যা করতে হবে।
কিছু আর্কিটেকচার ইচ্ছাকৃত, কিছু দুর্ঘটনাজনিত, বেশিরভাগই উদীয়মান।
অর্থবহ আর্কিটেকচার হল বিবেচনা, ডিজাইন এবং সিদ্ধান্তের একটি জীবন্ত, প্রাণবন্ত প্রক্রিয়া।
দিন, মাস, বছর এমনকি দশক ধরে কোডের নিরলস সংযোজন দ্রুত প্রতিটি সফল নতুন প্রকল্পকে একটি লিগ্যাসি প্রকল্পে পরিণত করে।
আমাকে আপনার দলের সংগঠন দেখান এবং আমি আপনাকে আপনার সিস্টেমের আর্কিটেকচার দেখাব।
সমস্ত সুগঠিত সফটওয়্যার-নিবিড় সিস্টেম প্যাটার্নে পূর্ণ।
একজন সফটওয়্যার আর্কিটেক্ট যিনি কোড করেন না তিনি এমন একজন রাঁধুনির মতো যিনি খান না।
প্যাটার্ন এবং ক্রস-কাটিং উদ্বেগের উপর ফোকাস করা এমন একটি আর্কিটেকচার তৈরি করতে পারে যা ছোট, সহজ এবং আরও বোধগম্য।
ডিজাইনের সিদ্ধান্তগুলি একটি নির্দিষ্ট স্টেকহোল্ডার কী করতে পারে তা উৎসাহিত করে এবং সেইসাথে একটি স্টেকহোল্ডার কী করতে পারে না তা সীমাবদ্ধ করে।
শুরুতে, একটি সফটওয়্যার-নিবিড় সিস্টেমের আর্কিটেকচার হল দৃষ্টিভঙ্গির একটি বিবৃতি। শেষে, এই ধরনের প্রতিটি সিস্টেমের আর্কিটেকচার হল পথে নেওয়া বিলিয়ন বিলিয়ন ছোট এবং বড়, ইচ্ছাকৃত এবং দুর্ঘটনাজনিত ডিজাইন সিদ্ধান্তের প্রতিফলন।
সমস্ত আর্কিটেকচার ডিজাইন, কিন্তু সমস্ত ডিজাইন আর্কিটেকচার নয়।
আর্কিটেকচার গুরুত্বপূর্ণ ডিজাইন সিদ্ধান্তের সেটকে প্রতিনিধিত্ব করে যা একটি সিস্টেমের রূপ এবং কার্যকারিতাকে আকার দেয়, যেখানে গুরুত্বপূর্ণতা পরিবর্তনের খরচ দ্বারা পরিমাপ করা হয়।
লেখক: চাক কনওয়ে সফটওয়্যার ইঞ্জিনিয়ারিং এবং জেনারেটিভ এআই-তে বিশেষজ্ঞ। তার সাথে সোশ্যাল মিডিয়ায় যোগাযোগ করুন: X (@chuckconway) অথবা তাকে YouTube-এ দেখুন।