我有一个旧式DLL,其中包含类似DB的Singleton,我们称之为DLL-DB。 该DLL由应用程序(例如Main)以及多个其他DLL(称为Worker)加载,因此层次结构如下所示:
void _listToMarkersTrails() {
for (var i = 0; i < widget.trailList.length; i++) {
setState(() {
map.markers.add(Marker(
icon: BitmapDescriptor.defaultMarkerWithHue(50.0),
infoWindow: InfoWindow(
title: widget.trailList[i].trailName,
onTap: () => _navigateToTrail(widget.trailList[i])),
markerId: MarkerId("id{$i}_trails"),
position: widget.trailList[i].markers[0].position,
));
});
}
}
void _listToMarkersEvents() {
for (var i = 0; i < widget.eventList.length; i++) {
setState(() {
map.markers.add(Marker(
icon: BitmapDescriptor.defaultMarkerWithHue(150.0),
infoWindow: InfoWindow(
title: widget.eventList[i].date,
onTap: () => _navigateToEvent(widget.eventList[i])),
markerId: MarkerId("id{$i}_events"),
position: widget.eventList[i].trail.markers[0].position,
));
});
}
}
现在我面临的问题是,似乎整个应用程序中只有一个DLL-DB实例,而我希望Main仅拥有其DLL-DB,而每个Worker都有其自己的DLL-实例。数据库。
请注意,(主要)使用Singleton来访问整个库中的类,并且很难进行重构。