জাভাএফএক্স - ডোমেন অবজেক্ট সহ প্রোপার্টি ব্যবহার করার সঠিক উপায়


10

জাভাএফএক্স একটি নতুন গুচ্ছ সম্পত্তি সরবরাহ করেছে যেমন javafx.beans.property.DoublePropertyআপনাকে স্বয়ংক্রিয়ভাবে পর্যবেক্ষণ ও সিঙ্ক্রোনাইজ করা যায় এমন ক্ষেত্রগুলি নির্ধারণ করতে দেয়।

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

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

কেউ কি 'রিয়েল লাইফ'-এ এই সমস্যার সমাধান হতে দেখেছে এবং যদি তা হয় তবে কীভাবে এটি করা হয়েছিল?


দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন, তবে জাভাএফএক্স সম্পর্কে আমার ধারণাটি ছিল যে ২০০৮ সালে ওরাকল ক্রয়ের আগে এটি সান দ্বারা আশ্রয় নেওয়া হয়েছিল এবং কেবল অ্যাপল ডিভাইসগুলিতে সিলভারলাইট এবং ফ্ল্যাশকে অস্বীকার করে বাজারে পুনর্নির্মাণ করা হয়েছিল। হতে পারে আপনি সঠিক যে এটি দৃশ্যের সাথে দৃled়ভাবে মিলিত হয়েছে এবং এটির একটি মূল কারণ এটি রোদে আটকে রাখা হয়েছিল। শুধু একটি ভাবনা.
জ্যাক স্টোন

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

উত্তর:


4

আমি জাভাএফএক্স ২.০ এর সাথে ঘুরে বেড়াচ্ছি যা আমি ধরে নিয়েছি আপনার প্রশ্নটি প্রায় হয়। আসল প্রোডাকশন কোড নয়, কেবল একটি ব্যক্তিগত প্রকল্প, তবে আপনি উপরে উল্লিখিত একই সমস্যায় পড়েছি। পুরো মডেলটি 2 ডি ফ্রেমওয়ার্ক থেকে নির্ভরশীল হয়ে ওঠে এবং আমি এটি পছন্দ করি না।

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

আপনি সুইংয়ের মতো কোনও এমভিসি ফ্রেমওয়ার্কে একই নকশাটি পাবেন। এটা এখানেই এটি করা থেকে রেহাই নেই।


এমন একটি কাঠামো যা আপনাকে ভাল ডিজাইনের নীতিগুলি প্রয়োগ করতে বাধ্য করে বা যদি আপনি তা না করেন তবে আপনার মুখে ফুঁক দেয়। । নেট লোক হিসাবে, এটি আমার খুব পরিচিত।
ম্যাটড্যাভি

0

প্রায় 7 বছর পরে এবং এই প্রশ্নটি এখনও আগের মতো বৈধ।

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

  • সত্তা = (ডোমেন) মডেল ( এম )
  • FXML ফাইল = দেখুন ( ভি )
  • নিয়ামক এখনও নিয়ামক ( সি )
  • ভিউ-মডেল ( ভিএম ) = ডেটা ক্লাসের একটি নতুন সেট যা কেবল জাভাফ্যাক্স বৈশিষ্ট্য এবং এটি প্রতিনিধিত্ব করে এমন প্রকৃত ডোমেন অবজেক্ট (এম) এর একটি উল্লেখ রয়েছে। এটি যৌগিক / সাজসজ্জার হিসাবে অভিনয় করে, এই যুক্তিতে ব্যবসায়ের লজিক পদ্ধতিটি আরও কল করতে পারে।

MVVM + + MVC

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

MVPVM

আমি মনে করি এই আর্কিটেকচারগুলি কোনওভাবেই পরিষ্কার আর্কিটেকচার (উপস্থাপনা স্তর) সম্পর্কিত আঙ্কেল ববের ধারণাগুলি মেলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.