“接口隔离”原则(SOLID中的I)告诉我们要尽可能地保持类的API小。遵循这个原则,我认为如果Widget上的属性不需要在Widget外部访问,那么您应该将它们设置为私有。
在Flutter中,你不能用_
在构造函数中定义一个命名属性,所以以下是不可能的:
// throws: Named parameters can't start with an underscore.
String _somePrivateProperty;
Foo({required this._somePrivateProperty})
你可以通过使属性定位来解决这个问题,或者,你可以使用构造函数列表,如下所示:
String _somePrivateProperty;
Foo({required String somePrivateProperty}) : _somePrivateProperty = somePrivateProperty;
以下是我的问题:我很少看到Flutter示例代码通过构造函数传递属性。为什么,是不是Dart的工作原理让这个显得多余了?如果不是,那么我遵循SOLID原则并使用构造函数列表通过构造函数初始化私有属性是正确的吗?
1条答案
按热度按时间fnvucqvd1#
下面是我使用SOLID原则做一些网络工作的代码
你可以从这里了解依赖注入原理。