You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think there are several areas where this new "Application Parts" concept can be improved.
First of all, why "application parts"? As someone new to the term, I see it as something very vague and unintuitive. What is an "application part" anyway? Is it just a location where grains are loaded, or does it serve some additional purpose? Why was there the need to confuse people with a new term, rather than just providing an API like LoadGrains(...)?
As a result of this, I find the following code (from here the Hello World sample) completely unreadable:
"Although this step is not technically required (if not configured, Orleans will scan all assembly in the current folder), developers are encouraged to configure this. This step will help Orleans to load user assemblies and types. These assemblies are referred to as Application Parts. All Grains, Grain Interfaces, and Serializers are discovered using Application Parts."
If developers are encouraged to configure application parts, then I believe they should be referenced in all documentation which describes setting up a basic silo. That includes the Hello World sample documentation and Running the Application (although this needs to be cleaned up first as per #4416).
The text was updated successfully, but these errors were encountered:
I'm not sure that we should encourage developers to configure these things unless they run into issues. Ideally, the default behavior is sufficient and only if users want to optimize startup times or write an extension library should they need to understand Application Parts.
I think there are several areas where this new "Application Parts" concept can be improved.
First of all, why "application parts"? As someone new to the term, I see it as something very vague and unintuitive. What is an "application part" anyway? Is it just a location where grains are loaded, or does it serve some additional purpose? Why was there the need to confuse people with a new term, rather than just providing an API like
LoadGrains(...)
?As a result of this, I find the following code (from here the Hello World sample) completely unreadable:
Looking at this, one wonders:
WithReferences()
do?Well, let's check out the method documentation:
As it turns out, Application Parts documentation is buried deep within the Deployment section of the documentation.
If developers are encouraged to configure application parts, then I believe they should be referenced in all documentation which describes setting up a basic silo. That includes the Hello World sample documentation and Running the Application (although this needs to be cleaned up first as per #4416).
The text was updated successfully, but these errors were encountered: