मुझे एक कठिन समय लग रहा है कि एक डीटीओ मैपर में फैक्ट्री पैटर्न को कैसे कार्यान्वित किया जाए, जिसे मैं बनाने की कोशिश कर रहा हूं। मुझे यकीन है कि मुझे अपने डिजाइन पर पुनर्विचार करने की ज़रूरत है। यहाँ है कि मैं क्या करने के लिए चल रहा हूँ का एक बहुत छोटा उदाहरण है:कास्टिंग और फैक्टरी पैटर्न टाइप करें
public abstract class Person
{
public string Name { get; set; }
public decimal Salary { get; set; }
}
public class Employee : Person
{
public Employee()
{
this.Salary = 20000;
}
}
public class Pilot : Person
{
public string PilotNumber { get; set; }
public Pilot()
{
this.Salary = 50000;
}
}
public static class PersonFactory
{
public static Person CreatePerson(string typeOfPerson)
{
switch (typeOfPerson)
{
case "Employee":
return new Employee();
case "Pilot":
return new Pilot();
default:
return new Employee();
}
}
}
और कारखाने का उपयोग करने के: मैं कैसे चारों ओर यह पायलट को typecasting बिना पायलट संख्या लोड हो रहा है मिलता है
Person thePilot = PersonFactory.CreatePerson("Pilot");
((Pilot)thePilot).PilotNumber = "123ABC";
? ? क्या यह करने का गलत तरीका है? मैं पायलट नंबर को व्यक्ति वर्ग में डाल सकता हूं, लेकिन फिर कर्मचारी संख्या का उत्तराधिकारी होगा और यही वह नहीं है जो मैं चाहता हूं। मैं क्या कर सकता हूँ?
धन्यवाद!
-Jackson
बस "डीटीओ मैपर" शब्द का जवाब देना: http: //automapper.codeplex।कॉम/ –
धन्यवाद! यह सहायक था! – adminJaxon