.
ধ্বস webapp2 & nbsp উপরে নির্মিত একটি পাইথন ওয়েব ফ্রেমওয়ার্ক হয়; এটি একটি ডিফল্ট টেমপ্লেট সিস্টেম হিসাবে Jinja2 ব্যবহার করে এবং কোন অধ্যবসায় স্তর অন্তর্ভুক্ত.
ধ্বস লক্ষ্য (বা কেন অন্য ওয়েব ফ্রেমওয়ার্ক?)
Testability এবং পুনর্ব্যাবহার্যোগ্যতা উপর ধ্বস নকশা ফোকাস.
অবশ্যই ধ্বস অলৌকিক কাজ করে না. শেষ পর্যন্ত আবেদন কোড উপর নির্ভর করে হবে testability এবং পুনর্ব্যাবহার্যোগ্যতা. কিন্তু কাঠামো সঠিক পথ স্থাপনের একটি বড় ভূমিকা আছে.
লক্ষ্য আশা নকশা পড়ার পর, নিচে উপস্থাপন করা এবং এই লক্ষ্য অর্জিত হয় কিভাবে এটি আপনি স্পষ্ট হবে টিউটোরিয়াল হয়.
Testability
ধ্বস এটা (আপনার জন্য সহজ) সম্ভব আপনার কোড এর জন্য ভাল ইউনিট-পরীক্ষা লিখতে তোলে একটি উপায় যে পরিকল্পনা করা হয়েছিল. এটা শুধুমাত্র পরীক্ষার লিখতে সহজ করে তৈরি না হয়. একটি ইউনিট পরীক্ষা করা উচিত:
- এটা ব্যর্থ হলে একটি পরিষ্কার ভুল বার্তা দিতে
- পরীক্ষা অধীনে বৈশিষ্ট্য নষ্ট হয়ে গেছে যখন প্রত্যেক কোড পরিবর্তন, শুধুমাত্র ব্যর্থ
- দ্রুত
পুনর্ব্যাবহার্যোগ্যতা
প্রায় প্রত্যেক কাঠামো পুনর্ব্যাবহার্যোগ্যতা তাদের নকশা লক্ষ্য এক যে দাবি. এখানে "পুনর্ব্যাবহার্যোগ্যতা" সোর্স কোড পুনর্ব্যাবহার্যোগ্যতা মানে.
এটা যদি আপনি এটি পরিবর্তন / কনফিগার করার প্রয়োজন ক্ষেত্রে পুনরায় ব্যবহার এই অ্যাপ্লিকেশন সোর্স কোড সবসময় সহজ নয় তবে অনেক অবকাঠামো plugable / পুনর্ব্যবহারযোগ্য উপ-অ্যাপ্লিকেশনের জন্য কিছু প্রক্রিয়া প্রদান. Plugable অ্যাপ্লিকেশন এছাড়াও একটি খুব গুরুত্বপূর্ণ বৈশিষ্ট্য কিন্তু এখন হিসাবে ধ্বস যে জন্য কোন সমর্থন আছে.
এটা শুধুমাত্র কোড আপনি এটা লিখতে প্রথমবার পুনর্ব্যবহারযোগ্য হতে হবে, পুনর্ব্যবহারযোগ্য কোড লিখতে সম্ভব হবে না. আপনি এক ভাবে কোড লিখতে পরামর্শ দেওয়া, এবং পরে এটি পুনর্ব্যবহারযোগ্য করতে এটি পরিবর্তন করতে না করা উচিত. যেমন, এটি "দেখুন (হ্যান্ডলার) ফাংশন ব্যবহার করুন" বলার অপেক্ষা রাখে না বিরোধিতা করা হয়. এবং বেশী ... "আপনি আপনার মতামত পুনরায় উপভোগ্য করতে চান যদি বর্গ-ভিত্তিক মতামত তাদের রূপান্তর!".
প্রকল্পের বিস্তারিত বিবরণ
- ওয়েবসাইট / ডক্স
- এই ময়াল সাপ লেখা একটি ওপেন সোর্স প্রজেক্ট (এমআইটি লাইসেন্স) হয়.
- PyPi থেকে ডাউনলোড করুন
- Bitbucket প্রকল্প ব্যবস্থাপনা (বাগ অনুসরণ, বৈশিষ্ট্য অনুরোধ এবং সোর্স কোড).
- গুগল গ্রুপ প্রশ্ন ও মতামত.
ধ্বস ডিজাইন
সতর্কতা
ধ্বস উন্নয়ন (আলফা) প্রথম পর্যায়ে হয়. এপিআই ভবিষ্যতে পরিবর্তন হতে পারে এবং এটি সামঞ্জস্য রাখতে হবে কোন গ্যারান্টি নেই.
MVC (মডেল ভিউ-নিয়ামক) অতিক্রম
MVC ইউজার ইন্টারফেস থেকে "ডোমেইন যুক্তি" বিছিন্ন লক্ষ্য করে তৈরি করা একটি সফটওয়্যার স্থাপত্য প্যাটার্ন. উদ্বেগ এই বিচ্ছিন্নতা ভাল আবেদন কোড সৃষ্টি করতে সক্ষম হবেন. এই প্যাটার্ন অনেক ডেস্কটপ অবকাঠামো জন্য খুব সফল ছিল এবং তাই ওয়েব অবকাঠামো নির্মাণের জন্য একটি রেফারেন্স হিসেবে দায়িত্ব পালন করেন. সমস্যা এই স্থাপত্য উপায় ওয়েব অ্যাপ্লিকেশন কাজ থেকে সরাসরি ম্যাপ করা না করতে পারেন.
এমনকি তথাকথিত MVC ফ্রেমওয়ার্ক সত্যিই MVC না. তাই আসুন শুধু MVC এর লক্ষ্য রাখা যাক. যে, পরিষ্কার পুনরায় উপভোগ্য এবং testable কোড লিখতে হয়.
ওয়েব অ্যাপ্লিকেশন
মূলত কি সব একটি ওয়েব অ্যাপ্লিকেশন, একটি HTTP অনুরোধ গ্রহণ প্রক্রিয়া এবং একটি HTTP প্রতিক্রিয়া উৎপন্ন হয়.
& Nbsp; ------------------ + +
HTTP- র অনুরোধ ------> | ওয়েব অ্যাপ্লিকেশন + + -----> HTTP প্রতিক্রিয়া
& Nbsp; ------------------ + +
প্রেরণ ও গ্রহণ HTTP- র একটি ওয়েব সার্ভার দ্বারা পরিচালিত হয়. এর ওয়েব অ্যাপ্লিকেশন কি মধ্যে একটি ঘনিষ্ঠ কটাক্ষপাত করা যাক:
& Nbsp; ------ + + + + + + -------
HTTP অনুরোধের ----> | রাউটার | -----> | হ্যান্ডলার | ----> HTTP প্রতিক্রিয়া
& Nbsp; ------ + + + + + + -------
রাউটার অনুরোধ URL টি চেক এবং এটি প্রতিক্রিয়া তৈরি করবে যে একটি অনুরোধ হ্যান্ডলার দ্রুত সম্পাদন করা হবে. ধ্বস webapp2 রাউটার ব্যবহার করে.
অনুরোধ হ্যান্ডলার শৈলী
অনুরোধ হ্যান্ডলার 3 শৈলী প্রধানত আছে.
- একটি একক ফাংশন
- একটি বর্গ পদ্ধতি
- একটি শ্রেণী
ধ্বস (এবং webapp2) তৃতীয় শৈলী, একটি বর্গ ব্যবহার করে. এটি একটি বেশী নমনীয়তা প্রদান করে, কারণ অনুরোধ হ্যান্ডলার ভাল আমাদের লক্ষ্য মামলা হিসেবে একটি বর্গ ব্যবহার করে, সহজ পরিবর্তন করুন / প্রসারিত করতে এবং হ্যান্ডলার অংশ পুনরায় ব্যবহার করার জন্য.
অনুরোধ হ্যান্ডলার প্রক্রিয়াকরণ
অনুরোধ হ্যান্ডলার প্রক্রিয়াকরণ 3 পর্যায়ে ভাগ করা যায়:
& Nbsp; ----------------- + + + + + + + + ----------------- --------- - + +
অনুরোধ ----> | পরম রূপান্তরকারী | ---- পরম বস্তু ----> | প্রসঙ্গে রচয়িতা | --- প্রসঙ্গ -----> | উপস্থাপন | ----> প্রতিক্রিয়া
& Nbsp; ----------------- + + + + + + + + ----------------- --------- - + +
1. পরম কনভার্টার - HTTP অনুরোধের থেকে পরামিতি পেতে
& Nbsp; HTTP- র একটি টেক্সট প্রোটোকল, অ্যাপ্লিকেশন সাধারণত অনুরোধ থেকে কিছু প্যারামিটার পেতে এবং কিছু স্থানীয় ধরনের তথ্য মধ্যে স্ট্রিং মান রূপান্তর করা হবে. এই পরামিতি কোনো URI পথ, ইত্যাদি কোনো URI প্রশ্ন, পোস্ট-তথ্য, কুকিজ, থেকে নেয়া হয়
2. প্রসঙ্গ রচয়িতা - প্রক্রিয়াকরণ
& Nbsp; কনটেক্সট একটি উপস্থাপন করা হবে যে তথ্য উপস্থাপন করতে ব্যবহৃত একটি শব্দ.
& Nbsp; এই প্রক্রিয়াকরণ আবেদন যুক্তি হল. এটা প্রায়ই একটি অধ্যবসায় স্তর (কখনও কখনও মডেল বলা হয়) অ্যাক্সেস করতে হবে কিন্তু এই আবেদন কোড সম্পূর্ণরূপে আপ এবং কাঠামো যে কোন ভূমিকা আছে.
& Nbsp; একটি ওয়েব পেজ প্রায়ই তাই কখনও কখনও এটা একাধিক "প্রসঙ্গ রচয়িতা" মধ্যে কাজ ভাগ করে জ্ঞান করে তোলে বিভিন্ন উপাদানের গঠিত হয়.
3. উপস্থাপন - আউটপুট উৎপন্ন
& Nbsp; উপস্থাপন HTTP প্রতিক্রিয়া জন্য টেক্সট মধ্যে প্রক্রিয়াকরণের ফলাফল রূপান্তর করা হবে. প্রতিক্রিয়া একটি HTTP পুনর্নির্দেশ যদি এই পর্যায়ে এড়ানো যেতে পারে. উপস্থাপন সাধারণত HTML কোড উৎপন্ন বা JSON তথ্য রূপান্তর একটি টেমপ্লেট সিস্টেম ব্যবহার করা হবে.
ধ্বস উপর আপনি আলাদাভাবে হ্যান্ডলার 3 স্তর জন্য কোড লিখতে এবং কাঠামো একসঙ্গে বিভিন্ন অংশে আঠালো দেওয়া উচিত.
. এটা দেখে মনে হচ্ছে কিভাবে দেখতে টিউটোরিয়াল উপর সরান
আবশ্যক
- পাইথন
পাওয়া মন্তব্যসমূহ না