[DI] Dart Interface 구현
페이지 정보
작성자 sbLAB 댓글 0건 조회 970회 작성일 22-12-22 09:39본문
[c# Interface 구조 이해]
1) http://sebom.com/gb/bbs/board.php?bo_table=gallery&wr_id=68
2) http://sebom.com/gb/bbs/board.php?bo_table=gallery&wr_id=67
1)번 C# Interface 구현/DI 예제를 Dart 로 표현하면..
//모니터 제조스펙 인터페이스
abstract class IMonitorMaker //Dart 3.0 ==> abstract interface class IMonitorMaker
{
makeProduct();
}
//모니터 제조스펙 데이타모델
class MonitorModel
{
String name;
int size;
MonitorModel(this.name,this.size);
//MonitorModel({required this.name,required this.size});
}
//삼성모니터 주문제품스펙
class SamsungMonitor implements IMonitorMaker
{
@override
MonitorModel makeProduct()
{
return MonitorModel("SAMSUMG-Samtron", 24);
//return MonitorModel(name:"SAMSUMG-Samtron", size:24);
}
}
//LG모니터 주문제품스펙
class LgMonitor implements IMonitorMaker
{
@override
MonitorModel makeProduct()
{
return MonitorModel("LG-Ultra", 32);
//return MonitorModel(name:"LG-Ultra", size:32);
}
}
//쇼핑몰주문사이트
class ShoppingSite
{
//IMonitorMaker monitorMaker 받을 준비
MonitorModel orderMonitor(IMonitorMaker monitorMaker)
{
return monitorMaker.makeProduct();
}
}
void main(){
ShoppingSite shoppingSite = ShoppingSite();
MonitorModel myMonitorModel;
myMonitorModel = shoppingSite.orderMonitor(SamsungMonitor());
print(myMonitorModel.name + " " + myMonitorModel.size.toString());
myMonitorModel = shoppingSite.orderMonitor(LgMonitor());
print(myMonitorModel.name + " " + myMonitorModel.size.toString());
}
===================
SAMSUMG-Samtron 24
LG-Ultra 32
===================
- 이전글[Dart/Linter] Dart Singleton 클래스 형식 23.01.08
- 다음글[http] SOP(Same Origin Policy) / CORS 22.12.19
댓글목록
등록된 댓글이 없습니다.