SOLID Prionsabail Chur i bhFeidhm i Flutter: Samplaí agus Dea-Chleachtais

Single Responsibility Principle(SRP)

Deir an prionsabal seo gur cheart go mbeadh freagracht amháin ar gach rang nó giuirléid. Leagtar béim ann gur cheart go ndéanfadh rang nó giuirléid feidhm shainiúil amháin agus gan an iomarca cúiseanna a bheith aige le hathrú.

Sampla: Cruthaigh giuirléid chun faisnéis úsáideora a thaispeáint agus giuirléid ar leith chun liosta postálacha a thaispeáint.

class UserProfileWidget extends StatelessWidget {  
  // Logic to display user information  
}  
  
class PostListWidget extends StatelessWidget {  
  // Logic to display a list of posts  
}  

Open/Closed Principle(OCP)

Spreagann an prionsabal seo feidhmiúlacht a leathnú trí chód nua a chur leis seachas an cód atá ann cheana a mhodhnú.

Sampla: Tóg giuirléid chun cineálacha éagsúla táirgí a thaispeáint in aip ríomhthráchtála.

abstract class ProductWidget extends StatelessWidget {  
  // Common logic for displaying products  
}  
  
class ElectronicProductWidget extends ProductWidget {  
  // Logic to display electronic products  
}  
  
class ClothingProductWidget extends ProductWidget {  
  // Logic to display clothing products  
}  

Liskov Substitution Principle(LSP)

Dearbhaíonn an prionsabal seo gur cheart réada d’aicme díorthaithe a chur in ionad rudaí den bhunaicme gan cur isteach ar chruinneas an chláir.

Sampla: Tóg giuirléid chun cruthanna geoiméadracha a bhainistiú.

abstract class ShapeWidget extends StatelessWidget {  
  // Common logic for displaying shapes  
}  
  
class RectangleWidget extends ShapeWidget {  
  // Logic to display rectangles  
}  
  
class CircleWidget extends ShapeWidget {  
  // Logic to display circles  
}  

Interface Segregation Principle(ISP)

Moltar leis an bprionsabal seo comhéadain a bhriseadh ina gcomhéadain níos lú chun iallach a chur ar ranganna nó giuirléidí modhanna a chur i bhfeidhm nach bhfuil de dhíth orthu.

Sampla: Comhéadain chun sonraí a nuashonrú agus a thaispeáint.

abstract class Updateable {  
  void update();  
}  
  
abstract class Displayable {  
  void display();  
}  

Dependency Inversion Principle(DIP)

Molann an prionsabal seo instealladh spleáchais a úsáid chun spleáchais a bhainistiú.

Sampla: Úsáid instealladh spleáchais chun spleáchais i ngiuirléidí a bhainistiú.

class OrderProcessor {  
  final DBConnection _dbConnection;  
  final EmailService _emailService;  
  
  OrderProcessor(this._dbConnection, this._emailService);  
}  

Cuimhnigh gur chóir SOLID prionsabail a chur i bhfeidhm Flutter go solúbtha bunaithe ar shainchuspóir do thionscadal agus ar do thuiscint ar SOLID agus Flutter.