DLL中的单例隔离

时间:2019-05-06 17:06:42

标签: c++ windows singleton

我有一个旧式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来访问整个库中的类,并且很难进行重构。

0 个答案:

没有答案