open-closed-principle

    3热度

    3回答

    我正在为一家公司开发游戏。我只会开发这个游戏2个月。我的公司要求我使我的代码干净并且可扩展,以便他们可以在需要添加更多功能时雇用另一位程序员。我已阅读Bob叔叔的Clean Code。我发现将一些概念付诸实践真的很难。这是我的课 public class MenuScreen extends ScreenAdapter { private final Game game; private

    1热度

    2回答

    我有一个方法 -(NSData*)getCommonDataWithCommandID:(int)commandID withChannelNumber:(int)channelNo withDataArray:(NSArray*)dataArray withByteArraySize:(int)byteArraySize { } 这是从很多地方打了个电话,打电话有一个大的层次。我如何从

    1热度

    1回答

    学习'SOLID'原理我想知道如果我需要为类添加更多扩展,修改构造函数就可以了,例如。商业逻辑。 从我学到的它看起来像修改构造函数我违反'开放 - 封闭'的原则,但如果我需要注入另一个类来执行一些逻辑呢?我如何在没有构造器修改的情况下做到这一点,一般来说,构造器修改是否违反了“开放 - 封闭”的原则? 让我们来看一个例子。 有一个接口 public interface ShopFactory {

    1热度

    1回答

    在下面的代码中,通过一个私有成员_field,从class Foo作为外部方法参数(Bar.DoSomething(_field))在SOLID编程实践中违反了Open/Closed principle? 在面向对象的编程,打开/关闭状态原则 “软件实体(类,模块,函数,等等)应该是扩展开 ,对修改关闭”;也就是说,这样一个实体可以允许它的行为被扩展而不修改其源代码 。 据我所知,实体应该是开放的

    0热度

    1回答

    我有一个ServiceField类,其中包含FieldId和Value作为两个属性。 public class ServiceField { public int FieldId { get; set; } public string Value { get; set; } } /// <summary> /// This

    1热度

    1回答

    我知道开放封闭原则意味着开放延伸和封闭进行修改。考虑一个例子如下 public class Vehicle{ public void service(){ //vehicle servicing code } } public class Bike extends Vehicle{ public void service(){ // b

    2热度

    1回答

    关于Command Design Pattern,我遇到了两难的问题。接收器是知道如何执行操作的类的接口。 在链接中给出的示例情况下,接收方类Stock Trade知道如何执行2个操作,StockTrade#buy和StockTrade#sell。这些操作对应于2个现有命令,BuyStockOrder和SellStockOrder。 但是,如果需要添加其他命令,例如FooStockOrder和Ba

    8热度

    4回答

    我是OOP和学习设计模式的新手,所以我写了一些简单的代码来尝试一个Factory方法,除了当我想添加另一个子类型时,一切似乎都很好。这里是到目前为止的代码: public interface Person { public String getDescription(); } public class Adult implements Person { @Override

    1热度

    1回答

    我最近读了nice, easy to understand article about open/closed principle。我一直想通过以下经验: 在真实世界场景的代码库是十个,一百个一千次大和修改类意味着重新部署它的组装/包到五个不同的服务器这可能是一个相当大的问题。哦,在现实世界中Aldford会五次,因为你读的最后一句话:-) 如何open/closed principle可以帮助避

    0热度

    2回答

    我即将实现文档生成器。我坚持遵循开放原则,这给我带来了一些麻烦。要求如下: 会有多种文档类型(即协议,委托书) 会有多种文档格式(即XML,JSON,HTML,PDF) 各文档类型需要不同的数据集是存在于该文件(即客户的详细资料,plenipotent细节) 由于我的选择以下开闭原则的,我强烈希望避免使用switch语句。这意味着我需要为特定类型的文档和格式类型引入一些抽象和实现。 是否需要提供m