Skip to content

Commit c77fa59

Browse files
committed
chore: fit path
1 parent 5926c71 commit c77fa59

12 files changed

Lines changed: 92 additions & 0 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import FilerLoggerFactory from "./Factories/FileLoggerFactory";
2+
import DatabaseLoggerFactory from "./Factories/DatabaseLoggerFactory";
3+
4+
const fileLoggerFactory = new FilerLoggerFactory()
5+
const fileLogger = fileLoggerFactory.createLogger()
6+
fileLogger.log('ceilf6')
7+
8+
const databaseLoggerFactory = new DatabaseLoggerFactory()
9+
const databaseLogger = databaseLoggerFactory.createLogger()
10+
databaseLogger.log('ceilf6')
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { DatabaseLogger } from "../LoggerProducts/DatabaseLogger";
2+
import { ILogger } from "../LoggerProducts/ILogger";
3+
import { IFactory } from "./IFactories";
4+
5+
export default class DatabaseLoggerFactory implements IFactory {
6+
createLogger(): ILogger {
7+
return new DatabaseLogger()
8+
}
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { FileLogger } from "../LoggerProducts/FileLogger";
2+
import { ILogger } from "../LoggerProducts/ILogger";
3+
import { IFactory } from "./IFactories";
4+
5+
export default class FilerLoggerFactory implements IFactory {
6+
createLogger(): ILogger {
7+
return new FileLogger()
8+
}
9+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// 所有工厂的接口
2+
import { ILogger } from "../LoggerProducts/ILogger"; // 产品接口
3+
4+
export interface IFactory {
5+
createLogger(): ILogger
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { ILogger } from "./ILogger";
2+
3+
export class DatabaseLogger implements ILogger {
4+
log(message: string): void {
5+
console.log(`Log to Database: ${message}`);
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { ILogger } from "./ILogger";
2+
3+
export class FileLogger implements ILogger {
4+
log(message: string): void {
5+
console.log(`Log to file: ${message}`);
6+
}
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export interface ILogger {
2+
log(message: string): void;
3+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import SimpleFactory from "./SimpleFactory";
2+
3+
const pro1 = SimpleFactory.createProduct("A")
4+
pro1.use()
5+
6+
const pro2 = SimpleFactory.createProduct("B")
7+
pro2.use()
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export interface IProduct {
2+
use(): void
3+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { IProduct } from "./Interface";
2+
3+
export class ProductA implements IProduct {
4+
use() {
5+
console.log('Product A used')
6+
}
7+
}

0 commit comments

Comments
 (0)