Yansongsongsong commented on code in PR #2094:
URL: 
https://github.com/apache/incubator-opendal/pull/2094#discussion_r1175267934


##########
core/src/types/builder.rs:
##########
@@ -21,16 +21,25 @@ use std::env;
 use crate::raw::*;
 use crate::*;
 
-/// Builder is used to build a storage accessor used by [`Operator`].
+/// Builder is used to set up a real underlying service, i.e. storage accessor.
+///
+/// One builder is usually used by [`Operator`] during its initialization.
+/// It can be created by accepting several k-v pairs from one HashMap, one 
iterator and specific environment variables.
+///
+/// By default each builder of underlying service must support deriving from 
one HashMap.
+/// Besides that, according to the implementation, each builder may have its 
own special methods
+/// to control the behavior of initialization of the underlying service.
+/// It often provides semantic interface instead of using one dynamic k-v 
strings.
+/// So during the usage, developer needs to read related doc of builder.
 ///
 /// It's recommended to use [`Operator::new`] to avoid use `Builder` trait 
directly.
 pub trait Builder: Default {
-    /// Associated scheme for this builder.
+    /// Associated scheme for this builder. It indicates what underlying 
service is.
     const SCHEME: Scheme;
     /// The accessor that built by this builder.
     type Accessor: Accessor;
 
-    /// Construct a builder from given map.
+    /// Construct a builder from given map which contains several parameters 
required by underlying service.

Review Comment:
   fixed. thank you so much
   



##########
core/src/docs/concepts.rs:
##########
@@ -53,15 +61,20 @@
 //! ```
 //!
 //! # Operator
-//!
-//! The [`Operator`] is a bridge between the underlying implementation details 
and the unified abstraction. OpenDAL will erase all generic types and higher 
abstraction around it.
+//! The [`Operator`] is a delegate for underlying implementation detail, and 
provides one unified access interface.
+//! It will hold one reference of Service with its all generic types erased by 
OpenDAL, which is the reason why we
+//! say the Operator is the delegate of one Service.
+//! And the Service also has another name called 
[`Accessor`][crate::raw::Accessor].

Review Comment:
   fixed. thank you to point it out



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to