软件工程日报

今天是我深入学习软件工程的一天,以下是我的学习进展:

所花时间:
自学与实践:1小时

代码量:
新增代码行数:120行
修改代码行数:30行
总计:150行

博客量:
撰写并发布本篇博客:1篇
学习到的知识点:
设计模式:深入研究了工厂方法模式(Factory Method Pattern)。它是一种创建型设计模式,允许在不指定具体类的情况下创建产品对象。通过定义一个用于创建对象的接口,但让子类决定要实例化的类是哪一个。这样做的好处是可以使系统更加灵活,易于扩展。
版本控制:学习了Git中的rebase命令,它可以将当前分支的提交放到目标分支之上,使得历史更加线性。这对于保持项目历史清晰非常有用。
单元测试:探索了JUnit框架中的一些高级特性,如参数化测试(Parameterized Tests),可以让我们用不同的参数多次运行同一个测试。
代码实现示例 - 工厂方法模式:
Java
深色版本
// 抽象产品
abstract class Product {
abstract void use();
}

// 具体产品A
class ConcreteProductA extends Product {
public void use() {
System.out.println("使用产品A");
}
}

// 具体产品B
class ConcreteProductB extends Product {
public void use() {
System.out.println("使用产品B");
}
}

// 抽象工厂
abstract class Creator {
protected abstract Product factoryMethod();
}

// 具体工厂A
class ConcreteCreatorA extends Creator {
protected Product factoryMethod() {
return new ConcreteProductA();
}
}

// 具体工厂B
class ConcreteCreatorB extends Creator {
protected Product factoryMethod() {
return new ConcreteProductB();
}
}

// 客户端代码
public class Client {
public static void main(String[] args) {
Creator creator = new ConcreteCreatorA(); // 可以根据需求更换为ConcreteCreatorB
Product product = creator.factoryMethod();
product.use();
}
}