我有一个相当大的Dart应用程序,它使用part和part of,所以我不必使用相对import。然而,应用程序在入口点文件中可能有这样的内容:
part 'file1.dart';
part 'file2.dart';
part 'file3.dart';
part 'some_sub_dir/file1.dart';
part 'some_sub_dir/file2.dart';
part 'some_sub_dir/file3.dart';
part 'some_sub_dir/file4.dart';
part 'some_sub_dir/file5.dart';
part 'some_sub_dir/file6.dart';
...据我所知,我的IDE (WebStorm)在创建新类时不会自动添加part语句。有什么办法可以避免我不得不使用这么多part?如果不是,每次添加新parts的过程是否可以自动化?
发布于 2015-08-03 08:54:25
我尽我所能理解你的问题,我将根据我在省道的经验来回答。
据我所知,您正在尝试将所有(或很多)项目文件作为一个库的一部分保存。这是错误的观念。在Dart图书馆不是什么大事。以下是一些如何组织你的文件的建议。
例如,这是一个类似于TODO应用程序的项目。所以,我们有视图类:
// This is a view html component class. //
library todolist.list_viewer;
import 'package:todolist/task.dart'; // model class
class ListViewer extends HtmlElement {
// it showes list of tasks
}
class TodoRenderer extends HtmlElement {
// this is a renderer for one todo item
}这是一个模型类:
// This is a todo model task //
library todolist.task;
class TodoProvider {
List<TodoItem> todos;
String addItem(TodoItem new Todo) {
//...
}
}
class TodoItem {
String Author;
DateTime date;
}它现在看起来很简单,分为几个独立的库。但是,如果我们想要添加RecId类来保持todo数据库id,那么它就变得太复杂了。我们应该将它分成两个库:todo_provider和todo_model,并将RecId类放到最后一个库中。现在又好了。
如果我们想再添加一个模型:一个User,那么每个待办项目都可能有执行者或作者。我们不能把它放在todo_model里。现在,我们应该将TodoItem和User类组合到model库中。因此,我们只需将todo_model类重命名为model,并在其中添加User类。
或者最后一个操作,我们可以创建user_model库来保持User类。同时,由于用户模型也具有recId属性,因此应该将RecId类提取到独立的库中。
这完全取决于我们的班级有多大和多复杂。
发布于 2015-08-01 04:40:58
我了解到:
部件/的一部分用于将库分成几个部分(脚本)。您对公共和私人成员都有可见度。
导入是从库中“调用/使用”另一个库。您只对导入库的公共成员具有可见性。
WebStorm无法推断您希望脚本成为库的一部分。
https://stackoverflow.com/questions/31758069
复制相似问题