আইওএস আর্কিটেকচার ডিজাইনিং: প্রেরণা

আসুন এই সিরিজের নিবন্ধগুলিতে নিজস্ব আর্কিটেকচার তৈরির বিষয়টিতে আসা যাক।

আর্কিটেকচার কি?

আর্কিটেকচারটি সিস্টেম ডিজাইনের সর্বোচ্চ স্তর।

সিস্টেম ডিজাইন একটি অ্যাপ্লিকেশনটির কোড উত্পাদন সহজতর করার একটি উপায়।

একটি অ্যাপ্লিকেশন একটি (ব্যবসায়িক) লক্ষ্য পূরণের জন্য প্রয়োজনীয় একটি মাধ্যম।

আমি কি এড়িয়ে যেতে পারি?

এমনকি আপনি অ্যাপটি তৈরির আগে সিস্টেম ডিজাইন প্রস্তুত না করার পরেও আপনাকে কোনও কোড লেখার আগে ভাবতে হবে এবং এটিকে দুর্ঘটনাক্রমে সিস্টেম ডিজাইন বলা হয়, যা দুর্ঘটনাজনিত আর্কিটেকচার (এএ) বাড়ে।

দুর্ঘটনাকৃতির আর্কিটেকচার সনাক্ত করা সহজ:
প্রশ্ন: আমাদের কোডটি এত কুরুচিপূর্ণ কেন?
উত্তর: reasonsতিহাসিক কারণগুলি ...

আমি কি লাভ করব?

কোডিং স্টাফগুলিতে ঝাঁপ দেওয়ার চেয়ে একটি আনুষ্ঠানিক আর্কিটেকচার স্থাপনের উদ্দেশ্য হ'ল নির্দেশিকা, সীমাবদ্ধতা এবং নিদর্শনগুলি নির্ধারণ করা যা কোডটি বাড়তে চলেছে according

কোনও কোডটিকে ট্রেনের মতো এগিয়ে যাওয়ার জন্য রেলপথ স্থাপন হিসাবে আর্কিটেকচার স্থাপনের কথা ভাবেন।

আমি কেন নিজেকে সংযত করব?

গাইডলাইনস, সীমাবদ্ধতা এবং নিদর্শনগুলি এতে সহায়তা করে:

  • ন্যূনতম বিস্ময়ের নীতি অনুসরণ করে কোড;
  • একটি বিদ্যমান সিস্টেম কীভাবে কাজ করে তা বুঝতে;
  • চাকা পুনর্নবীকরণ এড়ানো;
  • সম্প্রদায়ের মধ্যে কাজের ধারণা ছড়িয়ে দিন।

আমি কি ইন্টারনেট থেকে তাদের মধ্যে একটি ব্যবহার করতে পারি?

এগুলি থেকে আপনার শেখা উচিত, তবে তারা সবাই অনেক সমস্যায় ভুগছেন:

  • বৃদ্ধির কৌশল সরবরাহ করবেন না;
  • অ্যাপ্লিকেশন এবং দলের মাত্র এক আকারের জন্য ভাল ফিট;
  • উপাদান বিমূর্ততা এবং যোগাযোগের এলোমেলো স্তর;
  • ভূমিকাগুলির অস্পষ্ট বিতরণ (আমি আপনাকে "কর্মী" দেখছি);
  • ক্ষমা ও পাগল;)

এটির নকশা করার কি আমার যথেষ্ট দক্ষতা আছে?

কারও পক্ষে পর্যাপ্ত পরিমাণ নেই, তবে আপনার যত বেশি আছে, কোনও টানেলের শেষে আলো দেখা সহজ।
আপনাকে সাহায্য করবে কি তা এখানে:

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

কোথা থেকে শুরু?

আমাদের সর্বদা লক্ষ্য থেকে আসা প্রয়োজনীয়তাগুলি (যে কোনও পরিপক্ক প্রচেষ্টা হিসাবে) বিশ্লেষণ করে শুরু করা উচিত।

ক্রিয়ামূলক প্রয়োজনীয়তা.

সবচেয়ে খারাপ ক্ষেত্রে আপনি একটি উচ্চ-স্তরের ক্রিয়ামূলক স্পেসিফিকেশন পেতে পারেন:

  • কেনাকাটা তালিকা আবেদন;
  • তালিকাগুলিতে সহযোগিতা করার ক্ষমতা;
  • কোনও ইন্টারনেট সংযোগ ছাড়াই ব্যবহারের ক্ষমতা।

এই পর্যায়ে, ব্যবসায়টি মনে করতে পারে যে প্রয়োজনীয়তাগুলি পর্যাপ্ত, এবং উত্থাপিত প্রশ্নগুলির জঞ্জালের উত্তরগুলি খুঁজে পাওয়া আপনার দায়িত্ব, উদাহরণস্বরূপ:

  • ইউআই দেখতে কেমন হবে?
  • অ্যাপ্লিকেশনটি কোন ডিভাইসের সমর্থন করে?
  • আমারও কি সার্ভার-সাইড তৈরি করতে হবে?

আপনি যখন অন্য প্রশ্ন জিজ্ঞাসা করতে পারেন তা ভাবতে পারবেন না, এর সময়টি পরবর্তী পর্যায়ে যাওয়ার জন্য।

সাংগঠনিক প্রয়োজনীয়তা।

যদি এটি গ্রিনফিল্ড প্রকল্প না হয় তবে আপনার আর্কিটেকচার পছন্দে প্রচুর বিধিনিষেধ থাকতে পারে, অন্তত এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করুন:

  • আমার দল কে?
  • তারা আমাদের স্থাপত্য থেকে কী প্রত্যাশা করে?
  • আমরা কি সরঞ্জাম এবং ভাষা প্রতিষ্ঠা করেছি?
  • আমরা কি কোনও বিদ্যমান আর্কিটেকচারটি পুনরায় ব্যবহার করতে পারি?

আমি কি শেষ পর্যন্ত আর্কিটেকচার তৈরি শুরু করতে পারি?

হ্যা, তুমি পারো! ক্রিয়ামূলক এবং সাংগঠনিক প্রয়োজনীয়তা একসাথে রেখে, আপনি আপনার ধারণাগুলির রূপরেখা শুরু করতে পারেন এবং শেষ পর্যন্ত একটি আনুষ্ঠানিক আর্কিটেকচার রচনা করতে পারেন! তবে এটি বলতে সম্পূর্ণ ভিন্ন গল্প…

আমি এখন বাসায় যেতে পারি?

আপনার ধারণাগুলি বন্যের মধ্যে নেওয়ার আগে, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনার সুবিধার জন্য আমি সংকলিত একটি বিস্তৃত চেকলিস্টের বিরুদ্ধে তাদের স্ট্রেস-টেস্ট করুন।

কীভাবে চেকলিস্টটি ব্যবহার করবেন?

আপনার প্রার্থীর আর্কিটেকচারটি নিন এবং পরীক্ষার মতো প্রশ্নের উত্তর দিয়ে (এর আইওএস সম্প্রদায়ের সহায়তা জুরির কল্পনা) এর উকিল হওয়ার ভান করুন।

পড়ার জন্য আপনাকে ধন্যবাদ!

প্রতিক্রিয়ার জন্য আমাকে টুইটারে বার্তা দিন।

এখান থেকে কোথায় যাব?

বিদ্যমান iOS আর্কিটেকচারের ওভারভিউ।
এমভিসি প্যাটার্ন পর্যালোচনা।