বিশ্রামের এপি কেন মুখের নকশার ধরণটি অনুসরণ করে না


9

একটি ওও মডেলের সাথে আরএসটি [এপিআই] কাঠামোর তুলনা করতে, আমি এই মিলগুলি দেখতে পাচ্ছি:

উভয়:

  • তথ্য ভিত্তিক হয়

    • REST = সংস্থানসমূহ
    • ওও = অবজেক্টস
  • তথ্য চারপাশে চারপাশের অপারেশন

    • REST = আশেপাশে VERBS (পান, পোস্ট করুন ...) চারপাশে resources
    • ওও = এনক্যাপসুলেশন দ্বারা অবজেক্টগুলির চারপাশে অপারেশন প্রচার করুন

যাইহোক, উদাহরণস্বরূপ ফোকাস প্যাটার্নটি প্রয়োগ করার চেষ্টা করার সময় ভাল ওও অনুশীলনগুলি সর্বদা আরএসটি এপিআইয়ের উপর দাঁড়ায় না: REST এ, সমস্ত অনুরোধগুলি পরিচালনা করতে আপনার কাছে 1 জন নিয়ামক নেই এবং আপনি অভ্যন্তরীণ বস্তুর জটিলতা আড়াল করবেন না।

2 ধারণার মধ্যে সরল অবজেক্টের সম্পর্ক

ওও এবং রেস্টের মধ্যে সাদৃশ্য

বিপরীতে, আরইএসটি কমপক্ষে দুটি ফর্মের সাথে অন্য কোনও সংস্থার সাথে সমস্ত সম্পর্কের প্রকাশনা উত্সাহ দেয়:

  1. রিসোর্স হায়ারার্কি সম্পর্কের মাধ্যমে (আইডি 43 এর একটি যোগাযোগ একটি ঠিকানা 453 দিয়ে গঠিত): /api/contacts/43/addresses/453

  2. একটি REST জসন প্রতিক্রিয়া লিঙ্কের মাধ্যমে:

>> GET /api/contacts/43
<< HTTP Response {
   id: 43, ...
   addresses: [{
      id: 453, ...
   }],
   links: [{
      favoriteAddress: {
          id: 453
      }
   }]
}

অবজেক্টএ দ্বারা লুকানো বেসিক জটিলতা

ওও-তে ফিরে আসার জন্য, ফ্যাসাদ ডিজাইনের প্যাটার্নটি Low Couplingকোনও অবজেক্টএ এবং এর ' অবজেক্টবি ক্লায়েন্ট ' এর মধ্যে এবং High Cohesionএই অবজেক্টএ এবং এর অভ্যন্তরীণ অবজেক্ট কম্পোজিশনের ( অবজেক্টসি , অবজেক্টডি ) সম্মান করে । সঙ্গে objectA ইন্টারফেস, এই সীমা প্রভাব করার জন্য একটি ডেভেলপার অনুমতি objectB এর objectA অভ্যন্তরীণ পরিবর্তনগুলি (মধ্যে objectC এবং objectD ), যতদিন objectA API (অপারেশন) এখনো সম্মানিত করা হয়।

REST- তে ডেটা (সংস্থান), সম্পর্ক (লিঙ্ক) এবং আচরণ (ক্রিয়া) বিভিন্ন উপাদানগুলিতে বিস্ফোরিত হয় এবং ওয়েবে উপলব্ধ।

আরআরইএসটি দিয়ে বাজানো, আমার ক্লায়েন্ট এবং সার্ভারের মধ্যে কোড পরিবর্তনগুলিতে আমার সর্বদা প্রভাব থাকে: কারণ High Couplingআমার Backbone.jsঅনুরোধগুলির Low Cohesionমধ্যে এবং সংস্থানগুলির মধ্যে।

আরইএসটি লিংক দ্বারা প্রচারিত Backbone.js javascript application" আরইএসটি রিসোর্স এবং বৈশিষ্ট্যগুলি " আবিষ্কারের সাথে আমার চুক্তি কীভাবে করা যায় তা আমি কখনই বুঝতে পারি নি । আমি বুঝতে পারি যে ডাব্লুডাব্লুডাব্লিকে বোঝানো হয়েছে বহু সার্ভার দ্বারা পরিবেশন করা, এবং ওও উপাদানগুলি সেখানে বহু হোস্ট দ্বারা পরিবেশন করার জন্য বিস্ফোরিত হতে হয়েছিল, তবে একটি পৃষ্ঠার ঠিকানাগুলির সাথে একটি যোগাযোগ দেখানো "সংরক্ষণ" করার মতো একটি সাধারণ দৃশ্যের জন্য, আমি এখানে দিয়ে শেষ করছি:

GET /api/contacts/43?embed=(addresses)
[save button pressed]
PUT /api/contacts/43
PUT /api/contacts/43/addresses/453

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

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


1
আমাকে বুঝতে দিন। আপনি বলছেন যে দুটি আরইএসটি কল ব্যবহার করে আপনাকে একটি "এমবেডড" (রচনা) সংযুক্ত ঠিকানা দিয়ে একটি যোগাযোগ আপডেট করতে হবে, একটি যোগাযোগের জন্য এবং অন্যটির ঠিকানার জন্য অন্যটি। যোগাযোগগুলি আপডেট করার জন্য আপনার মুখোশ রয়েছে। PUT /api/contacts/43অভ্যন্তরীণ বস্তুগুলিতে ক্যাসকেড আপডেট করার সাথে কী সমস্যা ? আমার মতো অনেকগুলি এপিআই তৈরি হয়েছিল (মাস্টার ইউআরএল "সম্পূর্ণ" পড়তে / তৈরি করে / আপডেট করে এবং উপ ইউআরএলগুলি টুকরোগুলি আপডেট করে)। কোনও পরিবর্তন প্রয়োজন নেই (পারফরম্যান্সের কারণে) যখন আপনি ঠিকানা আপডেট না করেন কেবল তা নিশ্চিত করুন।
অ্যান্টনি অ্যাকসিওলি

@ অ্যান্থনিএকসিওলি, আপনি সঠিকভাবে বুঝতে পেরেছেন। আমি কিছু ছবি যুক্ত করে আমার প্রশ্নটি পরিষ্কার করার চেষ্টা করেছি। আপনার পরামর্শটি ভাল এবং এটিই আমি উপসংহারে এসেছি: ম্যানুয়ালি আমার অনুরোধটি নিয়ন্ত্রণ করছে এবং আমার আপডেট অ্যাটম রাখার জন্য কেবল একটি অনুরোধ প্রেরণ করতে একটি এম্বেড করা অবজেক্টটি ব্যবহার করুন। তবুও: কেন REST এর সমস্ত কিছু আমাকে আমার গুণমান (অনেকগুলি নিয়ামককে বোঝায়) সমতল করে OO গুণাবলী বা প্রয়োগগুলি (এনক্যাপসুলেশন, ...) থেকে দূরে সরিয়ে দেয়। আপনার সমাধানটি ব্যবহার করে 1 টি পারমাণবিক আপডেট দেয়। আপনার সমাধানটি ব্যবহার না করা বিকাশকারীকে নতুন দায়িত্ব এনে দেয় এবং এপিআইকে এটি করতে বাধা দিতে কোনও নিয়ম করে না।
আলাইন

কেবলমাত্র একটি নোট: আপনি উল্লেখ করেছেন "রিসোর্স হায়ারার্কি সম্পর্ক" হ'ল বিষয়টি কীভাবে কোনও সনাক্তকারীতে সম্পর্কের তথ্য এনকোড করার সিদ্ধান্ত নিতে পারে (এই ক্ষেত্রে, একটি URL)। আমি নিশ্চিত নই যে এই তথ্যের বহিঃপ্রকাশ এমন কিছু যা REST এর অংশ বা এটি প্রচার করে এমন কিছু, কোনও সিস্টেমের ইউআরএল উপস্থিত হওয়ার সময় একটি সিদ্ধান্ত নিজেই নেয় makes আপনি যদি অন্যথায় বিশ্বাস করেন তবে রয় ফিল্ডিংয়ের আরইএসটি-র অংশ হিসাবে এই বিষয়ে আলোচনা করার কোনও উল্লেখ রয়েছে কি?
থিয়াগো সিলভা

উত্তর:


7

আমি মনে করি অবজেক্টগুলি কেবল সুসংগত আচরণের আশেপাশে তৈরি করা হয়, না ডেটার আশেপাশে। আমি প্ররোচিত করব এবং বলব যে অবজেক্ট অরিয়েন্টেড বিশ্বে ডেটা প্রায় অপ্রাসঙ্গিক। প্রকৃতপক্ষে, কখনও কখনও ডেটা ফেরত দেয় না এমন বস্তুগুলি পাওয়া সম্ভব এবং একসময় সাধারণ, উদাহরণস্বরূপ "লগ ডুবানো", বা এমন বস্তু যা তারা পাস করা ডেটা কখনই ফেরত দেয় না, উদাহরণস্বরূপ যদি তারা পরিসংখ্যানগত বৈশিষ্ট্য গণনা করে।

আসুন আমরা পিওডিএসগুলিকে বিভ্রান্ত না করি (যা কাঠামোর চেয়ে কিছুটা বেশি) এবং আসল বস্তুগুলির আচরণ রয়েছে ( Contactsআপনার উদাহরণের শ্রেণীর মতো ) 1

পিওডিএস হ'ল মূলত সুবিধাগুলি সংগ্রহস্থল এবং ব্যবসায়িক বিষয়গুলির সাথে কথা বলার জন্য। তারা কোডটি নিরাপদ হওয়ার অনুমতি দেয়। বেশিও না, কমও না. অন্যদিকে ব্যবসায়িক অবজেক্টগুলি আপনার ডেটা বৈধকরণ, বা এটি সংরক্ষণ, বা গণনার জন্য এটি ব্যবহার করার মতো কংক্রিট আচরণ সরবরাহ করে।

সুতরাং, আচরণগুলি হ'ল "সংহতি" 2 পরিমাপ করার জন্য আমরা যা ব্যবহার করি এবং এটি দেখতে যথেষ্ট সহজ যে আপনার অবজেক্টের উদাহরণে কিছু সংহতি রয়েছে, যদিও আপনি কেবল শীর্ষ স্তরের পরিচিতিগুলিতে হেরফের করার জন্য পদ্ধতিগুলি দেখান এবং ঠিকানাগুলি পরিচালনা করার কোনও পদ্ধতি নেই।

REST সম্পর্কিত, আপনি REST পরিষেবাগুলি ডেটা সংগ্রহস্থল হিসাবে দেখতে পাবেন। অবজেক্ট ওরিয়েন্টেড ডিজাইনের সাথে বড় পার্থক্য হ'ল (প্রায়) কেবলমাত্র একটি ডিজাইনের পছন্দ রয়েছে: আপনার চারটি বুনিয়াদি পদ্ধতি রয়েছে (যদি আপনি গণনা করেন HEAD, উদাহরণস্বরূপ) এবং অবশ্যই আপনার ইউআরআইয়ের সাথে অনেকটা অবকাশ রয়েছে যাতে আপনি নিফটি করতে পারেন অনেক আইডির মতো জিনিসগুলি পাস করে একটি বৃহত কাঠামো ফিরে পায়। গুলান না ডেটা তারা পাস অপারেশন তারা সঞ্চালন। সংহতি এবং সংযুক্তি কোড সম্পর্কিত এবং ডেটা নয় ।

স্পষ্টতই, আরইএসটি পরিষেবাদির উচ্চ সংহতি রয়েছে (কোনও সংস্থার সাথে ইন্টারঅ্যাক্ট করার প্রতিটি উপায় একই জায়গায় রয়েছে) এবং কম সংযোগ (প্রতিটি সংস্থান সংগ্রহস্থল অন্যের জ্ঞানের প্রয়োজন হয় না)।

যদিও মূল তথ্যটি রয়ে গেছে, আপনার ডেটাগুলির জন্য আরআরইএসটি মূলত একটি একক সংগ্রহস্থল প্যাটার্ন । এর পরিণতিগুলি হ'ল, কারণ এটি ধীর মাধ্যমের তুলনায় সহজেই অ্যাক্সেসযোগ্যতার চারপাশে নির্মিত একটি দৃষ্টান্ত, যেখানে "চ্যাটিনেস" এর জন্য একটি উচ্চ ব্যয় রয়েছে: ক্লায়েন্টরা সাধারণত যতটা সম্ভব কম অপারেশন সম্পাদন করতে চায় তবে একই সময়ে কেবল তাদের প্রয়োজনীয় ডেটা গ্রহণ করে । এটি নির্ধারণ করে যে আপনি কত গভীরভাবে ডেটা ট্রি পাঠাতে চলেছেন।

(সঠিক) অবজেক্ট ওরিয়েন্টেড ডিজাইনে, কোনও তুচ্ছ তাত্পর্যপূর্ণ অ্যাপ্লিকেশন আরও অনেক জটিল ক্রিয়াকলাপ করবে, উদাহরণস্বরূপ রচনার মাধ্যমে। ডেটা দিয়ে আরও বিশেষায়িত ক্রিয়াকলাপ করার জন্য আপনার কাছে পদ্ধতি থাকতে পারে - যা অবশ্যই হওয়া উচিত, কারণ REST এপিআই প্রোটোকল হওয়ার সময়, পুরো ব্যবহারকারীর মুখোমুখি অ্যাপ্লিকেশন তৈরির জন্য ওওডি ব্যবহার করা হয়! এই কারণেই সংহতি এবং মিলন পরিমাপ করা ওওডে মৌলিক, তবে প্রায় বিশ্রামের ক্ষেত্রে তুচ্ছ।

এটি এখনই স্পষ্ট হওয়া উচিত যে ওও ধারণাগুলির সাথে ডেটা ডিজাইনের বিশ্লেষণ করা এটির পরিমাপ করার কোনও নির্ভরযোগ্য উপায় নয়: এটি আপেল এবং কমলাগুলির তুলনা করার মতো!

প্রকৃতপক্ষে, দেখা যাচ্ছে যে বিশ্রামপ্রাপ্ত হওয়ার উপকারিতা (বেশিরভাগই) উপরে বর্ণিতগুলি: এটি ধীর মাধ্যমের মাধ্যমে সাধারণ এপিআইয়ের জন্য ভাল প্যাটার্ন। এটি খুব ক্যাশেযোগ্য এবং তীক্ষ্ণ। চ্যাটিনেস ইত্যাদির উপর এর দারুণ নিয়ন্ত্রণ রয়েছে

আমি আশা করি এটি আপনার (বেশ বহুমুখী) প্রশ্নের উত্তর দিয়েছে :-)


1 এই সমস্যাটি বৃহত্তর সমস্যার একটি অংশ যা অবজেক্ট-রিলেশনাল ইম্পিডেন্স ম্যাচ ম্যাচ হিসাবে পরিচিত । ওআরএম-র সমর্থকরা সাধারণত শিবিরে থাকে যা তথ্য বিশ্লেষণ এবং আচরণ বিশ্লেষণের মধ্যে সাদৃশ্য সন্ধান করে তবে ওআরএম দেরিতে সমালোচনার মুখে পড়ে কারণ তারা সত্যিকার অর্থে এই প্রতিবন্ধকতা অমিলের সমাধান করে না বলে মনে হয় এবং এটিকে ফাঁস বিমূর্ততা বলে মনে করা হয়

2 http://en.wikedia.org/wiki/Cohesion_( কম্পিউটার_সায়েন্স)


আপনি ঠিকই বলেছেন, আমার প্রশ্নটি অনেক দিক থেকে বিস্ফোরিত করতে, একটি নির্দিষ্ট পয়েন্টটি পেরেক করার জন্য আমার খুব কষ্ট হয়েছিল, কারণ প্রশ্নগুলি এই দিকগুলি সঞ্চারের উপর ভিত্তি করে একটি "ভুল" উপসংহারে সম্বোধন করে। আমি অনেক মন্তব্যে আপনার পয়েন্ট উত্তর দেওয়ার জন্য এখন চেষ্টা করব।
আলাইন

[পাঠ্য 1] আমি OO এবং REST বিশ্ব থেকে বিমূর্ত করতে "ডেটা" শব্দটি ব্যবহার করেছি। আপনি কোন শব্দটি ওওর মধ্যে বিমূর্ত বৈশিষ্ট্য এবং আরএসটি-তে ডেটা কাঠামো ব্যবহার করবেন?
আলাইন

@ আলাইন "ডেটা" ঠিক আছে, তবে আমার বক্তব্যটি পিওডিএস এবং ব্যবসায়িক বিষয়গুলিকে বিভ্রান্ত করার নয়। যখন আমরা OOD সম্পর্কে কথা বলি আমরা সাধারণত দ্বিতীয়টি সম্পর্কে কথা বলি। প্রথমটি হ'ল একটি সুবিধা, এবং এটি প্রায় কোনও সহজেই অভিধান বা স্ট্রাক্ট বা টিপল সম্পর্কে ভাবা যায়।
Sklivvz

হ্যাঁ, আমি সম্মত, আমি ব্যাকবোন.জেএস ব্যবহার করি যেখানে একটি মডেল সংরক্ষণ করা একটি সাধারণ জসন কাঠামো ব্যবহার করে। এখানেই পাঠ্যটি আমার আসল কোডিংয়ের অভিজ্ঞতার প্রতিফলন ঘটায়।
আলাইন

[পাঠ্য 3] এটি আমার কাছে নতুন। আমি ভেবেছিলাম যে সংহতি সময় পদ্ধতি দ্বারা পরিমাপ করা হয়েছিল একটি নির্দিষ্ট সম্পর্ক ব্যবহার করে ... আমি আপনার দেখার পদ্ধতিটিকে পছন্দ করি।
আলাইন

1

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

"বিশ্রামে থাকার সুবিধা কোথায়?" এর উত্তর এখানে পুঙ্খানুপুঙ্খভাবে বিশ্লেষণ এবং ব্যাখ্যা করা হয়েছে: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

যদিও এই প্রশ্নের বিভ্রান্তিটি হ'ল এটি REST এর বৈশিষ্ট্যগুলি এবং সেগুলি কীভাবে মোকাবেলা করা যায় তা সম্পর্কে নয়, তবে ইউআরএলগুলির নকশাটি উদাহরণস্বরূপ আপনি উদাহরণস্বরূপ সিস্টেমের জন্য এসেছিলেন যা বিশ্রামের সাথে কিছু করার আছে um সর্বোপরি, আরআরএসটি বলে যে এখানে সংস্থান হিসাবে পরিচিত জিনিস রয়েছে এবং যাঁদের রেফারেন্স করা দরকার তাদের জন্য একটি সনাক্তকারী সরবরাহ করা উচিত, তবে এটি নির্দেশ করে না যে, আপনার ইআর মডেলের সত্তাগুলি আপনার তৈরি ইউআরএলগুলির সাথে 1-1 চিঠিপত্র থাকতে হবে (দুটিও নয় যে URL গুলি মডেলটিতে ER সম্পর্কের কার্ডিনালিটি এনকোড করবে)।

পরিচিতি এবং ঠিকানার ক্ষেত্রে আপনি এমন একটি সংস্থান সংজ্ঞা দিতে পারতেন যা যৌথভাবে এই তথ্যগুলিকে একক ইউনিট হিসাবে উপস্থাপন করে, আপনি এই তথ্যগুলি আলাদা করে আবিষ্কার করতে এবং সংরক্ষণ করতে চাইতে পারেন, বলুন, বিভিন্ন রিলেশনাল ডিবি টেবিল, যখনই তারা পুট বা পোস্ট করা হয় ।


1

ঠাণ্ডা কারণ মুখোমুখি একটি 'কলডেজ'; আপনার 'এপি বিমূর্তি' এবং 'এপি চেইনিং' এর দিকে একবার নজর দেওয়া উচিত। এপিআই দুটি কার্যকারিতার সংমিশ্রণ: আই / ও এবং সংস্থান পরিচালন resource স্থানীয়ভাবে, আই / ও ঠিক আছে তবে বিতরণকৃত আর্কিটেকচারের (যেমন প্রক্সি, এপিআই গেট, বার্তা সারি ইত্যাদি) আই / ও ভাগ করা হয় এবং সুতরাং ডেটা এবং কার্যকারিতা নকল এবং জড়িয়ে যায়। এটি একটি স্থাপত্য ক্রস কাটিয়া উদ্বেগকে বাড়ে। এটি সমস্ত বিদ্যমান apis জর্জরিত করে।

এর সমাধানের একমাত্র উপায় হ'ল প্রি / পোস্ট হ্যান্ডলারের API এর জন্য I / O কার্যকারিতা (স্প্রিং / গ্রেইলে একটি হ্যান্ডলারআইন্টারটার মতো বা রেলগুলির মধ্যে একটি ফিল্টার) যাতে কার্যকারিতাটি মোনাড হিসাবে ব্যবহার করা যায় এবং উদাহরণ এবং বাহ্যিক জুড়ে ভাগ করা যায় সাধনী দ্বারা প্রয়োগকরণ। অনুরোধ / প্রতিক্রিয়াটির জন্য ডেটাও কোনও বস্তুতে বহিরাগত করা প্রয়োজন যাতে এটি ভাগ করেও পুনরায় লোড করা যায়।

http://www.slideshare.net/bobdobbes/api-abstraction-api-chaining


0

আপনি যদি নিজের আরএসটি পরিষেবাটি বা সাধারণভাবে কোনও প্রকারের এপিআই বুঝতে পারেন, ঠিক তেমন কোনও অতিরিক্ত ইন্টারফেস যেমন ক্লায়েন্টের কাছে প্রকাশিত হয়েছে যাতে তারা এটির মাধ্যমে আপনার নিয়ামককে প্রোগ্রাম করতে পারে তবে হঠাৎ এটি সহজ হয়ে যায়। পরিষেবাটি আপনার বিজ লজিকের উপরে অতিরিক্ত স্তর ছাড়া আর কিছুই নয়।

অন্য কথায়, আপনাকে একাধিক কন্ট্রোলারগুলির মধ্যে বিজ লজিক বিভক্ত করতে হবে না, যেমন আপনি উপরের ছবিতে করেছেন এবং আরও গুরুত্বপূর্ণভাবে, আপনার উচিত নয়। তথ্য আদান-প্রদানের জন্য যে ডেটা স্ট্রাকচার ব্যবহার করা হয় সেগুলি অভ্যন্তরীণভাবে আপনি যে ডেটা স্ট্রাকচার ব্যবহার করেন তা মিলানোর প্রয়োজন হয় না, সেগুলি বেশ আলাদা হতে পারে।

এটি শিল্পের রাষ্ট্র, এবং সর্বজনস্বীকৃত, এটি যে কোনও বিজ যুক্তিকে ইউআই কোডে রাখাই বাজে ধারণা। তবে প্রতিটি ইউআই হ'ল এক ধরণের ইন্টারফেস (II in UI) পিছনে বিজ যুক্তি নিয়ন্ত্রণ করতে পারে। ফলস্বরূপ, এটি স্পষ্ট বলে মনে হয় যে কোনও বিশ্রাম যুক্তিটি আরএসটি পরিষেবা পরিষেবা স্তর বা অন্য কোনও এপিআই লেয়ারে রাখাই একটি খারাপ ধারণা।

ধারণাগতভাবে বলতে গেলে, ইউআই এবং পরিষেবা API এর মধ্যে খুব বেশি পার্থক্য নেই।


আমি স্তর ধারণার সাথে একমত, তবে "এর মাধ্যমে আপনার নিয়ামককে প্রোগ্রামিং" বলতে আপনি কী বোঝাতে চাইছেন?
আলাইন

1
আমি সত্যটি জোর দিয়ে বলতে চাই যে নিয়ামক নিজেই আসল পরিষেবা। পুরো জিনিসটির চারপাশে মোড়ানো ইন্টারফেসটি কেবল কিছু অর্জনের উপায়। কোনওভাবেই বা অন্য কোনওভাবে মোড়ানো কার্যকারিতা অ্যাক্সেস সহজ করতে যে কোনও ইন্টারফেস বিদ্যমান exists একটি জিইউআই মানব ব্যবহারকারীদের জন্য এটি করে, একটি পরিষেবা এপিআই ক্লায়েন্টদের দ্বারা ব্যবহৃত হয়। উভয় লক্ষ্য শ্রোতা ইন্টারফেসের পিছনে মোড়ানো জিনিসগুলির সাথে কিছু অর্জন করতে চায়। আমি সম্মত হই যে "প্রোগ্রাম"
এটির জন্য সর্বোত্তম শব্দবাচক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.