Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring notification module #181

Closed
1 of 4 tasks
Tracked by #125
rootwarp opened this issue Jul 13, 2022 · 4 comments
Closed
1 of 4 tasks
Tracked by #125

Refactoring notification module #181

rootwarp opened this issue Jul 13, 2022 · 4 comments
Assignees
Labels
area:svc Anything related to Vatz Service. type:enhancement Any enhancement for feature or anything Vatz Project Name

Comments

@rootwarp
Copy link
Member

rootwarp commented Jul 13, 2022


Checklist

  • New Feature for the SVC/Plugin
  • New Feature for CI/CD
  • Enhancement on Vatz
  • Others(etc. e.g, documentation,...)

Please describe, what it's about or related Problem with

A clear description of what feature need to be developed or enhanced in Vatz

Refactoring issue starting from #125.
In this issue, Notification module will be refactored.

Describe the output that you are expecting for above

A clear and concise description of what you expect to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

@rootwarp rootwarp self-assigned this Jul 13, 2022
@rootwarp rootwarp added Vatz Project Name area:svc Anything related to Vatz Service. type:enhancement Any enhancement for feature or anything labels Jul 13, 2022
@rootwarp rootwarp added this to the Sprint 13 ( ~ 2022-07-20) milestone Jul 13, 2022
@xellos00
Copy link
Member

xellos00 commented Jul 13, 2022

@rootwarp

For PR

I am curious how you are going to manage business logic separation in the structures.
We put manager_layer in the module structure in purpose to separate business logic and module itself when started basic structure.
It wasn't optimized in first hand, but still I feef it's need.
do you plan to another layer for this.
because I don't want to call notification function from executror.go
please, let me know if you have another plan for this or further discussion need.

@rootwarp
Copy link
Member Author

rootwarp commented Jul 14, 2022

@xellos00 We don't need stay in business logic layer model like Java does.
We could just care about how we separate module from the others.
For that, exposing just only selected function is key part to separate as you said
and those subject can be possible as we expose just interface as well.
So I tried to use interface type from outside of module.

Does this make sense to you?

@xellos00
Copy link
Member

xellos00 commented Jul 14, 2022

@rootwarp
There seems to be more of a gap than what we talked to each other in the meeting regarding the refactoring issue.
I thought it's tasks to change sort of map[interface{}]interface{} into clear structures.
I understand your point as well that expose only selected in interface, yet there's still doubt on this due on complete separation

I don't think it's not only on Java, some practical framework in Go

let's have a further discussion for this, once we settle for 1st structure, guess it wouldn't be altered for long time
@hqueue Can you join to meeting?

@rootwarp
Copy link
Member Author

@rootwarp There seems to be more of a gap than what we talked to each other in the meeting regarding the refactoring issue. I thought it's tasks to change sort of map[interface{}]interface{} into clear structures. I understand your point as well that expose only selected in interface, yet there's still doubt on this due on complete separation

I don't think it's not only on Java, some practical framework in Go

let's have a further discussion for this, once we settle for 1st structure, guess it wouldn't be altered for long time @hqueue Can you join to meeting?

Yup I removed some manager structure because of some issues.

  1. Manager structure seems just simple wrapping up and even the instance from the manager is cross correlated from the outside. that makes coupling.
  2. For testing. we totally need to use interface, so I re-defined interface and used for decoupling module.

As you said, Golang also need fancy architecture to build huge application.
But those should be done by module unit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:svc Anything related to Vatz Service. type:enhancement Any enhancement for feature or anything Vatz Project Name
Projects
None yet
Development

No branches or pull requests

2 participants