我正在使用洋葱体系结构进行项目。我有一个应用程序核心和基础结构,还有一个Asp.net核心项目作为UI项目。参考Jeffery Palermo的文章,每一层都可以使用它们下面的任何层。 UI可以使用其所有底层,但不应依赖于Infrastructure。如何在我的UI项目中使用依赖注入在IUI项目中注册IRepository(在应用程序核心处定义)和Repository(已在基础结构中实现Irepository),而无需在UI项目中引用基础结构项目?类似于以下代码行refList.observe(.value, with:{(snapshot) in
if snapshot.childrenCount > 0 {
self.listProduct.removeAll()
for lists in snapshot.children.allObjects as! [DataSnapshot]{
let productList = lists.childSnapshot(forPath: "user_info")
let userList = productList.value as? [String: AnyObject]
if let listName = userList?["storename"] as? String {
let list = StoreModel(name: listName)
self.shops.append(Shop(storename: listName, shop_id: lists.key ))
self.listProduct.append(list)
}
}
self.tableList.reloadData()
}
})
我读过this的帖子,但我认为它不适用于扩展方法,因为在两个不同的项目中都不能在不引用该项目和使用其命名空间的情况下使用扩展方法。