Skip to content

Commit 72e072d

Browse files
设计模式测试例子
1 parent a9b2392 commit 72e072d

File tree

8 files changed

+176
-1
lines changed

8 files changed

+176
-1
lines changed

pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313
<artifactId>cglib</artifactId>
1414
<version>2.2.2</version>
1515
</dependency>
16-
16+
<dependency>
17+
<groupId>org.projectlombok</groupId>
18+
<artifactId>lombok</artifactId>
19+
<version>1.18.8</version>
20+
</dependency>
1721
</dependencies>
1822

1923
<build>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package demo.invoice;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.math.BigDecimal;
9+
10+
@Data
11+
@Builder
12+
@AllArgsConstructor
13+
@NoArgsConstructor
14+
public class Invoice {
15+
private String invoiceNo;
16+
private String invoiceCode;
17+
private Integer invoiceType;
18+
19+
private BigDecimal invoiceAmount;
20+
private BigDecimal taxAmount;
21+
private BigDecimal totalAmount;
22+
23+
/**
24+
* 火车票的专属字段,这个是否要抽到另一个对象里面?
25+
*/
26+
private String trainNum;
27+
private String passengerName;
28+
/**
29+
* 飞机票专属字段。
30+
*/
31+
private String electronicTicketNum;
32+
private String customerIdentityNum;
33+
34+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package demo.invoice;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.math.BigDecimal;
9+
10+
@Data
11+
@Builder
12+
@AllArgsConstructor
13+
@NoArgsConstructor
14+
public class InvoiceAir {
15+
private String invoiceNo;
16+
private String invoiceCode;
17+
private Integer invoiceType;
18+
19+
private BigDecimal invoiceAmount;
20+
private BigDecimal taxAmount;
21+
private BigDecimal totalAmount;
22+
23+
private String electronicTicketNum;
24+
private String customerIdentityNum;
25+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package demo.invoice;
2+
3+
public interface InvoiceService {
4+
5+
Invoice queryInvoice();
6+
7+
int saveInvoice();
8+
9+
int updateInvoice();
10+
11+
int insertInvoice();
12+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package demo.invoice;
2+
3+
public class InvoiceServiceAir implements InvoiceService{
4+
5+
@Override
6+
public Invoice queryInvoice() {
7+
return null;
8+
}
9+
10+
@Override
11+
public int saveInvoice() {
12+
return 0;
13+
}
14+
15+
@Override
16+
public int updateInvoice() {
17+
return 0;
18+
}
19+
20+
@Override
21+
public int insertInvoice() {
22+
return 0;
23+
}
24+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package demo.invoice;
2+
3+
public class InvoiceServiceTrain implements InvoiceService {
4+
@Override
5+
public Invoice queryInvoice() {
6+
return null;
7+
}
8+
9+
@Override
10+
public int saveInvoice() {
11+
return 0;
12+
}
13+
14+
@Override
15+
public int updateInvoice() {
16+
return 0;
17+
}
18+
19+
@Override
20+
public int insertInvoice() {
21+
return 0;
22+
}
23+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package demo.invoice;
2+
3+
/**
4+
*
5+
*/
6+
public class InvoiceTest {
7+
public static void main(String[] args) {
8+
int invoiceType=8;
9+
updateInvoice(invoiceType);
10+
11+
}
12+
13+
public static void updateInvoice(int invoiceType){
14+
Invoice invoice=new Invoice();
15+
//根据不同的发票类型生成不同的发票服务
16+
InvoiceService invoiceService=null;
17+
if(invoiceType==8) {
18+
invoiceService=new InvoiceServiceAir();
19+
}else if(invoiceType==9){
20+
invoiceService=new InvoiceServiceTrain();
21+
}
22+
invoiceService.updateInvoice();
23+
24+
25+
}
26+
27+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package demo.invoice;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.math.BigDecimal;
9+
10+
11+
@Data
12+
@Builder
13+
@AllArgsConstructor
14+
@NoArgsConstructor
15+
public class InvoiceTrain {
16+
private String invoiceNo;
17+
private String invoiceCode;
18+
private Integer invoiceType;
19+
20+
private BigDecimal invoiceAmount;
21+
private BigDecimal taxAmount;
22+
private BigDecimal totalAmount;
23+
24+
private String trainNum;
25+
private String passengerName;
26+
}

0 commit comments

Comments
 (0)