সন্তানের সাথে পিতামাতার সংযোগ স্থাপন - খারাপ ধারণা?


15

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

অতীতে আমি সন্তানের প্রতি তার পিতামাতার পিছনে উল্লেখ করার জন্য একটি WeakReferences সম্পত্তি ব্যবহার করেছি তবে আমার মনে হয় এটি একটি বিরক্তিকর ওভারহেড যুক্ত করে, তবে সম্ভবত এটি করার সর্বোত্তম উপায়।

এটি কি একটি খারাপ ধারণা? কীভাবে আপনি এই ক্ষমতাটি আলাদাভাবে বাস্তবায়ন করবেন?

আপডেট 1: আরও প্রসঙ্গ যুক্ত করা। এটি একটি রেন্ডারিং সিস্টেম তাই পিতামাত্ত কন্টেইনারটি একসাথে গ্রুপযুক্ত উইন্ডোগুলির একটি তালিকা। শিশু আইটেম (উইন্ডো) যা "আমি সবচেয়ে গুরুত্বপূর্ণ!" মূলত বাকি উইন্ডোজগুলির শীর্ষে রেন্ডার করতে চায়।

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


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

যদি 2 শিশু উভয়ই মনে করে যে তারা সবচেয়ে গুরুত্বপূর্ণ শিশু হতে চায়?
btilly

@ তবে সবচেয়ে গুরুত্বপূর্ণ বাচ্চা আসলে এটিকে পিতামাতার সন্তানের তালিকায় স্তরের শীর্ষে পুনরায় অর্ডার করে। সুতরাং যে এটি স্থায়ী হয়, সবচেয়ে গুরুত্বপূর্ণ হয়ে ওঠে। আমার দৃশ্যে আপনার কখনই সবচেয়ে গুরুত্বপূর্ণ দ্বন্দ্ব হবে না।
থ্রাকা

উত্তর:


18

এটি কি একটি খারাপ ধারণা?

পুন: পুন।

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

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

[সম্পাদনা:]

হ্যাঁ, রেন্ডারিং সিস্টেমগুলি এমন একটি ক্ষেত্রে যেখানে পিতামাতার মালিকানা ... ভাল আমি বলতে চাই না যে এটি বোঝা যায়, তবে এটি এমন একটি ক্ষেত্রে যেখানে এটি হয়েছে এবং এটি বিশ্বের শেষ নয়। কন্ট্রোল ফোকাস দেওয়ার জন্য, আমি এখনও সেই নকশাটিকে পছন্দ করব যেখানে ইনপুট হ্যান্ডলার (বা যাই হোক না কেন) গাছটি হাঁটে এবং সন্তানের সন্ধানের চেয়ে কোন সংগ্রহটি পুনরায় অর্ডার করতে হবে তা জানতে পারে, এটির জন্য এমন কিছু কল করা যা তার পিতামাতার কাছে যেতে জানে।


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

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

এখন পর্যন্ত এই উত্তরের জন্য ধন্যবাদ। আমি আমার মূল প্রশ্নে আরও প্রসঙ্গ যুক্ত করেছি।
থ্রাকা

1
@ মনোজআর - অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কখনই বাস্তব জীবনের বস্তুর সাথে সম্পর্কিত ছিল না।
টেলাস্টিন

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

0

কীভাবে মৃত্যুদন্ড কার্যকর করা যায় যেখানে শিশু সিদ্ধান্ত নেয় যে এটি সবচেয়ে গুরুত্বপূর্ণ হতে চায়? এটি পিতামাতার মাধ্যমে সেখানে পেয়েছেন? যদি হ্যাঁ, আপনি সেই পদ্ধতিতে পিতামাতার কাছে রেফারেন্স পাঠাতে পারেন।

যেমন। যদি সমস্ত নোডে কিছু ধরণের আপডেট () পদ্ধতি থাকে যা কিছু পছন্দ করে

void update() {
    doSomething()
    for(Node n:childs){
        //do something
        n.update();
    }
}

আপনি এটি পরিবর্তন করতে পারে

void update(Node parent) {
    doSomething(parent)
    for(Node n:childs){
        //do something
        n.update(this);
    }
}

হ্যাঁ এটি করার একটি দুর্দান্ত উপায়। তবে, আমার পরিস্থিতিতে এটি সম্ভব হতে পারে যে ক্লায়েন্ট লজিক কোডটি পিতামাতার লুপ দ্বারা শুরু করা হয়নি।
থ্রাকা

0

আমি এটি খারাপ ধারণা বলে মনে করি না। আপনি প্রতিটি সন্তানের জন্য বাছাই অর্ডার মান যোগ করে এটি সমাধান করতে পারেন। আমি ওয়েব পেজে একে অপরের উপরে বা পিছনে অবজেক্ট প্রদর্শন করতে ব্যবহৃত "জেড-ইনডেক্স" এর মতো কিছু কল্পনা করছি।

আপনি কীভাবে এই জাতীয় কিছু কোড করবেন তা আমি নিশ্চিত নই, তবে ধারণাটি व्यवहार्य বলে মনে হচ্ছে।


এই সমাধানের সাথে, যদিও সমস্যাটি এখনও বিদ্যমান। এটি কেবল জেড-ইনডেক্সের সাথে অর্ডার-ইন-দ্য অ্যারে ধারণাটি প্রতিস্থাপন করে। আমার এখনও বাচ্চা থেকে পিতামাতার একটি যোগাযোগ ব্যবস্থা থাকতে হবে। যদিও ধন্যবাদ :)
থ্রাকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.