আমি একজন জুনিয়র বিকাশকারী (years 3 বছর 'এক্সপ্রেস) এবং আমার চাকরিতে আমরা একটি নতুন সিস্টেমের আর্কিটেকচার প্রক্রিয়াধীন। আমার সীসা বিকাশকারী হবেন মূল স্থপতি, তবে তিনি নিজে আমাকে (সমান্তরালভাবে) সিস্টেমটি আর্কিটেকচার করার চেষ্টা করার জন্য আমাকে চ্যালেঞ্জ জানিয়েছেন।
বুদ্ধিদীপ্ত ধারণাগুলির কয়েকটি পুনরাবৃত্তি এবং আমি আর্কিটেকচার পরামর্শ হিসাবে যা দেখেছি তার প্রস্তাব দেওয়ার পরে, আমার সীসা আমাকে প্রতিক্রিয়া জানিয়েছে যে আমি যা করছি তা বেশিরভাগই "ডিজাইনিং" ছিল, "আর্কিটেকচারিং" নয়।
তিনি পার্থক্যটি বর্ণনা করেছিলেন আর্কিটেকচারটি বাস্তবায়ন-অজোনস্টিক হিসাবে যেখানে একটি নকশা একটি বাস্তবায়নের বর্ণনা। তিনি বলেছিলেন যে আমার ডিজাইনার টুপিটি খুলে আমার আর্কিটেক্টের টুপি লাগানো দরকার। কীভাবে এটি করা যায় সে সম্পর্কে তিনি আমাকে কিছুটা পরামর্শ দিয়েছিলেন তবে আমি আপনাকেও এটি জিজ্ঞাসা করতে চাই:
আমি কীভাবে সফ্টওয়্যার ডিজাইনার মোড থেকে বেরিয়ে আর্কিটেক্টের মতো ভাবতে শুরু করব?
এখানে আমি "ডিজাইন" এর কয়েকটি উদাহরণ দিয়েছি যা এগুলি আমার নেতৃত্বের দ্বারা স্থাপত্যের সাথে প্রাসঙ্গিক হিসাবে দেখা যায়নি:
- আমি আমাদের সিস্টেম থেকে রিসোর্স লোড এবং আনলোড করার জন্য একটি অ্যালগরিদম নিয়ে এসেছি এবং আমার নেতৃত্ব বলেছিল যে অ্যালগরিদমগুলি আর্কিটেকচারের মতো নয়।
- সিস্টেমটি উত্থাপিত হওয়া উচিত এবং কীভাবে এটি তাদের উত্থাপন করা উচিত সেগুলির একটি সেট নিয়ে আমি এসেছি, তবে এটিও এটি আর্কিটেকচার হিসাবে কাটেনি বলে মনে হয়।
আমি বিশদে ধরা পড়ে যাচ্ছি এবং যথেষ্ট পিছনে পা বাড়ছে না বলে মনে হচ্ছে। আমি দেখতে পেলাম যে আমি যখন কোনও স্থাপত্য স্তরের কিছু নিয়ে এসেছি, তখনও আমি প্রায়শই বিভিন্ন বাস্তবায়ন চেষ্টা করে এবং বিশদটি প্রায় সাধারণ করে এবং বিমূর্ত করে প্রায় সেখানে পৌঁছে দিয়েছিলাম। যখন আমি এটি আমার নেতৃত্বের কাছে বর্ণনা করলাম, তিনি বলেছিলেন যে আমি ভুল পদ্ধতির অবলম্বন করছি: আমার "উপরে ডাউন" না হয়ে "শীর্ষে" চিন্তা করা দরকার।
প্রকল্প সম্পর্কে আরও কিছু সুনির্দিষ্ট বিবরণ এখানে :
- আমরা যে প্রকল্পটি নির্মাণ করছি সেটি হ'ল একটি ওয়েব অ্যাপ্লিকেশন।
- আমি কোডের প্রায় 10-100 হাজার লাইনের অনুমান করছি।
- আমরা একটি শুরু। আমাদের ইঞ্জিনিয়ারিং টিম প্রায় 3-5 জন।
- আমাদের অ্যাপ্লিকেশনটির সাথে আমি যে নিকটতম জিনিসটির সাথে তুলনা করতে পারি তা হ'ল একটি লাইটওয়েট সিএমএস। এটিতে একই রকম জটিলতা রয়েছে এবং মূলত উপাদান লোডিং এবং আনলোড, লেআউট পরিচালনা এবং প্লাগ-ইন শৈলী মডিউলগুলির সাথে কাজ করে।
- অ্যাপ্লিকেশনটি আজাক্স-ওয়াই। ব্যবহারকারীর ক্লায়েন্টটি ডাউনলোড করার পরে সার্ভার থেকে এটি যেমন প্রয়োজন তেমন অনুরোধ করে।
- আমরা এমভিসি প্যাটার্নটি ব্যবহার করব।
- অ্যাপ্লিকেশনটির প্রমাণীকরণ থাকবে।
- আমরা পুরানো ব্রাউজার সমর্থন (হাব!) সম্পর্কে খুব বেশি উদ্বিগ্ন নই, তাই আমরা সর্বাধিক যে সর্বশেষ এবং সর্বাধিক যে সর্বাধিক তা পাওয়া যায় এবং তা বেরিয়ে আসবে le (HTML5, CSS3, WebGL ?, মিডিয়া উত্স এক্সটেনশান এবং আরও অনেক কিছু!)
প্রকল্পের কয়েকটি লক্ষ্য এখানে রয়েছে :
- অ্যাপ্লিকেশনটির স্কেল করা দরকার। অদূরতম মেয়াদে আমাদের ব্যবহারকারীরা কয়েক হাজার থেকে হাজারের ক্রমের উপরে চলে যাবে তবে আমরা লক্ষ লক্ষ থেকে লক্ষ লক্ষ এবং তারও বেশি সময় ধরে পরিকল্পনা করছি।
- আমরা আশা করি আবেদনটি চিরকাল থাকবে। এটি কোনও অস্থায়ী সমাধান নয়। (প্রকৃতপক্ষে আমাদের ইতিমধ্যে একটি অস্থায়ী সমাধান রয়েছে এবং আমরা যা স্থপতি করছি তা আমাদের যা আছে তার জন্য দীর্ঘমেয়াদী প্রতিস্থাপন)।
- আবেদনটি সুরক্ষিত হওয়া উচিত কারণ এতে সংবেদনশীল ব্যক্তিগত তথ্যের সাথে যোগাযোগ থাকতে পারে।
- অ্যাপ্লিকেশনটির স্থিতিশীল হওয়া দরকার। (আদর্শভাবে, এটি জিমেইলের স্তরের আশেপাশে স্থিতিশীল হতে চাই তবে এটি কোনও মঙ্গল গ্রহনের চূড়ান্ত পর্যায়ে থাকার দরকার নেই))