我正在为一个程序制作一个解决方案,该程序使用不同类型的部件(C#)构建机器人。在本例中,我有两种共享某些属性的类型,并且这两种类型的Part都继承自一个抽象类part。
到目前为止,我是从我的界面窗口中的实际按钮代码调用new的,它是这样的。
if (type == acuatic)
Part pieceA = new AcuaticPart(type,name,price,maxDepth);
else
Part pieceB = new TerrestrialPart(type,name,price,terrain,maxTemp);
我知道这是一个完全错误的设计,我应该实现一个工
我有一个C# abstract类,它有一些方法要由它的子类实现。
尽管如此,这些子节点的初始化值由两个部分组成:一个是与父级相同的,另一个是子程序特有的。
public abstract class parentClass {
public abstract bool IsInputValid(string input); //children must implement this
public parentClass () {
//Some shared initialization
}
}
如果类不是abstract,我们可以这样做来实现
publi
我正在创建一个抽象类。我希望我的每个派生类都被强制实现一个特定的构造函数签名。因此,我做了我想要强迫他们实现一个方法的事情,我做了一个抽象的方法。
public abstract class A
{
abstract A(int a, int b);
}
但是,我收到一条消息,说这个项目的抽象修饰符是无效的。我的目标是强制执行一些这样的代码。
public class B : A
{
public B(int a, int b) : base(a, b)
{
//Some other awesome code.
}
}
这是所有的C# .NET代
我使用的是一个使用构造函数注入的IoC容器(例如,Castle)。我有以下(示例)类,它管理一个产品.
public class ProductDataManager
{
public ProductDataManager(Product product, IProductDataLoader productDataLoader)
{
}
// a number of methods here that manage the products data in different ways...
}
它依赖于只有类使用者才知道的产品。它还依赖于产品数据加载器服务
假设您有一个基类(例如Animal)和一个工厂(AnimalFactory),它们使用模板方法执行相同的操作(使用不同的细节)来创建实例。AnimalFactory接受AnimalDetails来建立这种动物:
我用伪代码来解决泛型问题。
class Animal {}
class AnimalDetails {}
class AnimalFactory {
makeBaby:Animal(details:AnimalDetails) { /* some special action */ }
createTemplate:Animal (details:AnimalDet
我正在学习工厂模式,并实现了这个抽象工厂的简单示例。在编写这个小示例时,我跟踪了一下这视频。这个例子有什么反模式或错误吗?
我做了两种不同的比萨饼
public interface IPizza
{
public string Name { get; set; }
}
public class NewYorkPizza : IPizza
{
public string Name { get; set; } = "NewYork Pizza";
}
public class ItalianPizza : IPizza
{
public string N
在一个实例中,我可能会这样做。
var obj= Activator.CreateInstance(GetType());
但不确定如何在静态基方法中获取继承类的typeof。
这是最好的前进方式吗?
public static Method<T>() where T : SomeBase, new()
假设在C#中,我有一个名为A的类
public class A : IInterfaceA
{
[Dependency]
B _b;
}
在B类中,我有这样一个构造函数:
public class B
{
...
public B(string someParam) { ... }
...
}
现在,我把A级注册如下:
_unityContainer.RegisterType<IInterfaceA, A>("RegistrationA");
为了解决接口问题,我会:
_unityContainer.Resolve<IInterfaceA&
抽象工厂通常构造一个相关对象的“系列”,每个对象都对各自的抽象进行分类。示例可以构造植物和植物采摘器;OrangeFactory可以构造Oranges和OrangePickers,AppleFactory可以构造Apples和ApplePickers。
但是,如果这个家族只有一个抽象,它还会是一个抽象的工厂吗?考虑:
interface PlantFactory {
Plant makePlant();
}
public class AppleFactory implements PlantFactory {
Plant makePlant() {
return new Ap
据我所知,Factory方法是简单的Factory,而Factory对象是Abstract Factory?和:
-Factory方法(简单工厂):
public class SimplePizzaFactory {
public static final int CHEESE = 1;
public static final int PEPPERONI = 2;
public static final int VEGGIE = 3;
public static Pizza createPizza(int type) {
Pizza pizza
正如你在下面的图片中看到的
我有一个在运行时创建实体的工厂模式。当我研究我的数据库时,我决定有一个学生和一个教授是"ISA“的人,因为他们有一些共同的字段(如姓名和前名)。
同样,我决定有常任教授和副教授即"ISA“教授。
在运行时,用户选择“教授”、“学生”等实体,而不是Person。所以在这种情况下,我必须创建新的教授、学生等实体。同样,当用户选择教授实体时,它必须决定要创建哪种类型的教授。
到目前为止,我为工厂创建的代码如下
public class EntityFactory {
protected String entityType;
public EntityF
我目前有两个(核心)类:
public abstract class BO where TConfig : BOConfigBase
{
protected TConfig Config { get; set; }
internal List _BCs { get; set; }
public abstract void Init();
public void Process() => _BCs.ForEach(bc => bc.Process());
}
public class BOOne : BO
{
public BOOne(B
我正在进行一个庞大的角2项目,其中涉及从noSQL数据库中提取几种不同类型的对象。这些对象由简单的模型类表示。我使用服务从DB中提取信息,并实例化对象,这些对象被传递给组件,就像英雄教程的工作方式一样。
我遇到的问题是,对于每一种类型的对象,我有一个与其他对象稍有不同的服务--主要的区别是,我需要该服务来实例化和返回不同类型的对象。为了合并这些服务,我尝试将对象类型从组件传递到服务,服务将在那里进行DB调用并实例化传递类型的对象。
看起来是这样的:
在构成部分中:
import { Market } from './market'; // Market is just a
我是一个开发人员,主要使用嵌入式设备(用C和汇编语言编程)。我的C#和OOP知识非常有限(尽管我可以在必要时通过它来伪装)。我有五个通过USB与PC连接的设备。PC进行一些计算,并将结果发送到设备。对每个设备执行相同的计算,但计算的执行方式不同。对于每个设备,我都有一个C# Windows Forms应用程序,它执行一些工作并将数据来回发送到设备。目前,我正在尝试将这五个不同的应用程序合并为一个,这样我们就可以轻松地进行更改,轻松添加新设备,并拥有一个标准的用户界面。我的问题是,我并不确切地知道最好的方法,因为我不知道在运行时才会使用哪个设备。我试图避免一堆if语句,我希望能够将每个设备放在一