আমি আমার অ্যাপ্লিকেশনটির কাঠামোটি ভিএস-এ সেটআপ করার চেষ্টা করছি এবং আমি "চেষ্টা" করতে এবং ভবিষ্যতের প্রমাণটি এটি একটি যুক্তিসঙ্গত পর্যায়ে রাখতে চাই। এই অ্যাপ্লিকেশনটি কোনও ডাব্লুপিএফ হবে এমন কোনও পুরানো উইনফর্ম অ্যাপটির পুনরায় লিখন যা কোনও চুক্তি অনুসরণ করে নি। কোন স্তর, স্তর, সংক্ষিপ্ত শব্দ, ইত্যাদি ...
এটি মোটামুটি লার্জি এন্টারপ্রাইজ অ্যাপ্লিকেশন। আমি লিনাক টু এসকিউএলকে আমার ডিবি হিসাবে ব্যবহার করার পরিকল্পনা করেছি এবং সম্ভবত সর্বদা এমএস এসকিউএল হব। এছাড়াও এটির সাথে আমার একটি বিদ্যমান দক্ষতা সেট আছে।
আমি এমভিভিএম এবং ডিডিডি যথাসম্ভব সেরা অনুসরণ করতে চাই তবে এগুলি সংযুক্ত করার সময় আমি আমার অ্যাপ্লিকেশনটির কাঠামো নিয়ে বিভ্রান্ত হয়ে পড়ি। আমাকে কিছু উদাহরণ দিয়ে চেষ্টা করার চেষ্টা করুন।
আমি যখন এমভিভিএম অনুসরণ করি তখন আমার ফোল্ডারটির কাঠামোটি দেখতে দেখতে এমন হতে পারে:
Views
Models
ViewModels
Helpers
তবে কীভাবে এটি আমার সরল প্রকল্পের কাঠামোটির সাথে সাদৃশ্যপূর্ণ একটি সরল ডিডিডি স্তরযুক্ত পদ্ধতির সাথে খাপ খায়:
MyApp.UI
MyApp.Domain
MyApp.Data
আমি Models
কি ডোমেন স্তরটিতে রাখি বা আমার কাছে বলার 3 সংস্করণ রয়েছে Person
? এটি অন্য প্রশ্নটির দিকে নিয়ে যায় যেখানে আমি আমার ডিপোজিটকে আমার ডিপোজিটরি এবং ম্যাপিংগুলি ডোমেন অবজেক্টে রাখব? আমি ডেটা ধরে নিব ...
Views
আমি ইউআই যেতে হবে পেতে কিন্তু হবে ViewModels
?
অবশেষে, আমি কোথায় আমার ব্যবসায়িক যুক্তি এম্বেড করব?
আমি কোডপ্লেক্স, ডিডিডি উদাহরণে নিম্নলিখিতটি পেয়েছি এবং এটি কিছুটা সহায়ক হয়েছে তবে মনে হয় এটি কোনও ওয়েব অ্যাপের জন্য হলেও এটি কিছুটা গুরুত্বপূর্ণ না এবং এটি আমার অজ্ঞতা থেকেই জ্বলছে।
আমাকে ভুল করবেন না, আমি জানি আমি অনেক বেশি ফোল্ডার রাখতে পারি এবং যা খুশি সেগুলি কল করতে পারি। আমি জিনিসগুলি কোথায় রাখব তা জানার চেষ্টা করছি যাতে এটি স্কেল-সক্ষম হবে, সেই জায়গাগুলি যেগুলি প্রয়োজনীয় বলা হয় তা নয়।
আমার প্রশ্নের হৃদয়টি এভাবে প্রদর্শিত হতে পারে।
আমি tblPerson
দ্বারা উত্পাদিত বস্তু আছে *.dbml
। এটি সুস্পষ্ট এবং এটি আমার "ডেটা" স্তরের অন্তর্ভুক্ত।
এখন আমার কাছে মডেল, ডিটিও, ডোমেন মডেল বা যা কিছু বলা উচিত সেগুলি পৃথক স্তর (প্রকল্প?) বলা হবে Person
। আমি প্রয়োজন হবে Mapper
জন্য Person
করতে tblPerson
যে আমি নিশ্চিত নই যেখানে করা।
তারপরে, এর জন্য আমার কাছে একটি ভিউমোডেল থাকবে, বলুন EditPerson
যে এটির নিজস্ব বৈশিষ্ট্য যা এটি থেকে টানছে Person
তবে সম্ভবত আরও ভাল।
অবশেষে আমার কাছে এমন ভিউ থাকবে যা সেই ভিউমোডেলের সাথে আবদ্ধ ছিল ....
অনুচ্ছেদে আমার অনুমান এবং অনুমানগুলি পূর্ণ হয়েছে এবং আমি আশা করছি যে কেউ আমার জন্য বাতাস পরিষ্কার করতে সহায়তা করবে বা সেখানে অন্তর্দৃষ্টি দেবে যাতে এখন থেকে 6 মাস থেকে এক বছর পর্যন্ত আমি আমার প্রয়োজনের চেয়ে বেশি লাথি দিচ্ছি না।