我在我的项目中有这样的东西,这个项目已经完成了(它正在工作),我只想知道它是否可以与坚实的原则
static public class Tools
{
static public GetProduct(this id){...}
static public GetProductCategory(this id){...}
static public GetUser(this id){...}
// I also have here methods like IsStringNull ...
// IsNull IsFalse, lots of st
我的生产类包含一个字段util,我想用一个模拟来替换它,这样我就可以断言这个方法被称为..
public class MyClass {
private static final Util util = new Util();
public static void myMethod() {
System.out.println(util);
util.doSomething();
}
}
我的测试类..
public class MyClassTestSuite {
@BeforeEach
public final
我想知道在内部类中调用外部类‘方法,然后在外部类中使用内部类’方法是否被认为是不好的做法。
在本例中:在BidParser中,我调用属于外部类的方法updateMaps()。此外,我还在BidParser中调用第二个内部类BidParser的方法。
这是不好的做法和反模式吗?我在这里创建了一个上帝对象吗?(不过,在其他外部类中有更多要遵循的函数)
编辑:--我有两个变量Var1,Var2(比方说),它们属于外部,但对于updateX和checkX方法是必需的。
public class Outer{
public static void main( String[] args ){
我刚刚在我的一个类中创建了以下方法
public static bool Assimilate(this List<Card> first, List<Card> second)
{
// Trivial
if (first.Count == 0 || second.Count == 0)
{
return false;
}
// Sort the lists, so I can do a binarySearch
first.Sort();
second.Sort();
// Copi
以下代码是否违反了OOP原则/模式?
特别是,我对Vehicle::whatCanDo()方法中的实例检查感兴趣,该方法检查子类是否植入了特定的接口。
乍一看,这似乎违反了Liskov原则,但实际上并非如此,因为飞机和汽车的等级仍然可以互换。
abstract class Vehicle {
public function whatCanDo() {
if ($this instanceof CanFly) {
echo "can fly";
}
}
}
interface CanFly {
}
class Airplane e
我有一个类'Image‘,它有3个方法crop(),resize()和convert()。
这是否违反了单一责任原则?
我应该把它们分成不同的类吗?
class Image{
public function crop() {}
public function resize() {}
public function convert() {}
}
假设我有一个抽象类,类似于:
public abstract class Pet {
private final String name;
public Pet(String name) {
this.name = name
};
public abstract boolean getsSpecialTreatment();
}
public final class Dog extends Pet {
@Override public boolean getsSpecialTreatment() { return true; }
public class Car
{
public char color;
public char getColor()
{
return color;
}
public void setColor(char color)
{
this.color = color;
}
}
public class MyCar
{
private Car car = null;
public MyCar()
{
this.car = new Car(
我正在巩固我对利斯科夫替代原则和开放封闭原则之间关系的理解。如果有人能证实我的推断并回答我下面的问题,那就太好了。
我有以下课程。正如您所看到的,B是从A派生而来的,它覆盖了DisplayMessage函数以改变行为。
public class A
{
private readonly string _message;
public A(string message)
{
_message = message;
}
public virtual void DisplayMessage()
{
Console.W
例如,属性<greeting>的值是"Hello,world!“。
我想要的是检查模板是否以"Hello“开头,如果是,应用模板<response>。
我的字符串模板片段:
<if(/*do not know how to write the condition here*/)><greeting:response()><endif>
是否知道为什么下面的javascript/jquery代码可能会产生错误消息:未捕获异常:异常...“对WrappedNative原型对象的非法操作”?
代码:
function deletereceipt(id){
var $delconfdialog = $('<div id="dialog-confirm"></div')
.html('Are you sure you want to delete this receipt?')
如果可能的话,我们应该避免多个接口吗?因为我认为在大多数情况下,具有多个接口的类可以替换为另一个版本,其中包含组合和单个接口,例如:
多界面:
public class C implements A,B{
@Override
public void a(){
}
public void b(){
}
}
组合和单界面:
public class ConcreteA implements A{
@Override
public void a(){
}
}
public class ConcreteB implements B{