# MeEdu 服务化架构
## 初衷
MVC 是 PHP 开发当中流行了数十年的设计模式。但是,现如今,随着业务的复杂度的提高,传统的 MVC 架构已经无法有效的满足在保证代码清晰的同时,能够很好的
兼顾业务。基于此,延伸出了许多代码层面的架构和设计。比如说:引入 Service 的概念,将传统的 Model 与业务逻辑分开。这种代码层面的架构在许多的公司项目
中都有见到,但是随着业务复杂度的提高和需求的持续迭代,我们会发现,Service 层的代码越来越臃肿,变得难以维护!所以,聪明的 PHPer 开始尽可能的抽离Service
,划分好每个 Service 的职责范围。但是系统毕竟是由团队合作开发的,其中参与的每一个人都无法达到高度的思想统一!所以,一个项目维护时间长久之后,随着团队
人员的变动,后来者看到代码,脑子中只有一个词:“重构”!。
MeEdu 在设计之初,代码层面的架构其实也脱离不了 MVC 的范畴,你可以处处看到它的影子。作者在持续维护 MeEdu 的过程中,随着技术提升和视野的转变,对于系统
有了更深入的了解,于是决定对 MeEdu 进行一次变化较为彻底的重新架构设计:服务化设计!引入该设计的目的是使 MeEdu 的代码耦合度更低,更易于维护,单元测试
覆盖率更高!
## 目标
+ 代码耦合度更低
+ 业务职责划分更为彻底
+ 微服务架构设计,服务替换无感知
+ 达到更高的单元测试覆盖率
+ 让支持 MeEdu 的小伙伴花费最少的时间参与 MeEdu 的开发
## 服务列表
| 服务 | 说明 |
| --- | --- |
| `Base` | 系统底层服务,主要有:缓存,配置服务等 |
| `Member` | 会员服务,负责 MeEdu 系统的会员注册/登录/找回密码/会员等级等 |
| `Course` | 课程服务,主要提供课程/视频在线观看 |
| `Order` | 订单服务,主要提供课程/视频/会员的在线购买服务 |
| `Other` | 其它服务,主要是系统的一些小功能,包括像:上传,短信发送等 |
## 规则
+ 除了 `BaseSerice` 可以被其它服务任意调用之外,其余的服务之间**禁止**互相调用。
+ 单个服务内的 `Service` 可以互相调用。
+ 所有的服务都必须通过注入的方式使用。
+ 所有服务的返回值都必须为基础数据类型,如:数组,布尔值等。禁止返回诸如 Model对象,Collection对象等。
+ 应用其它层可以任意的调用各种服务。
+ 全局只可以使用 `Auth::id()` 和 `Auth::check()` 方法,禁止使用 `Auth::user()` 来获取当前登录用户,因为这个方法返回的是 `Model` 对象。
## 规则解释
+ 问:为什么禁止使用 `Auth::user()` 方法?
答:因为 `Auth::user()` 返回的是 `UserModel` 对象,该对象可以直接操作数据库!这是不允许的,所以的操作数据库行为都必须写在相应的 `Service` 里面。
+ 问:为什么服务方法必须返回基础数据类型?
答:微服务设计不仅仅要考虑到Laravel或者PHP开发的应用,也有可能还有其它的语言!因此,为了服务的通用性,服务方法必须返回基础数据类型。
没有合适的资源?快使用搜索试试~ 我知道了~
meedu知识付费解决方案 v4.5.4源码.zip
共657个文件
php:613个
gitignore:15个
png:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 153 浏览量
2024-05-21
09:20:27
上传
评论
收藏 1.39MB ZIP 举报
温馨提示
meedu知识付费解决方案 v4.5.4源码下载 解决方案是一个以php进行开发的网校建站系统。 MeEdu知识付费/在线培训解决方案PC网校/H5/小程序/APP全覆盖,低成本搭建你的私有网校。 功能特点: 多端支持 提供私有化独立部署,PC端,H5网页,微信小程序全覆盖; 教务场景 支持录播,直播,图文,考试练习等多种教培形式; 招生引流 课程秒杀,团购,分销裂变,多种组合营销助你推广引流; 后台管理 课程管理,数据明细,系统配置,店铺装修一手掌握; 服务器参数最低标准 CPU:2核(2h) 内存:4GB 带宽:3M 操作系统:CentOS,Ubuntu等linux系统(不推荐Windows,window不是不能用,就是问题比较多,如果你爱折腾技术也不错可以尝试) 使用限制 本限制自 MeEdu v4.4 开始生效。 本项目不限制个人,公司等主体自用(举个例子:您通过 MeEdu 搭建线上教育平台出售课程这样的商业行为是允许的)。自用请到该网址 MeEdu自用授权登记 进行授权登记,未登记用户视为未获得自用授权。 在未获得 MeE
资源推荐
资源详情
资源评论
收起资源包目录
meedu知识付费解决方案 v4.5.4源码.zip (657个子文件)
artisan 2KB
.env.example 1KB
.gitattributes 111B
.gitignore 421B
.gitignore 103B
.gitignore 44B
.gitignore 20B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 13B
.gitignore 13B
.gitignore 13B
.gitignore 9B
.htaccess 593B
.env.install 1KB
default_avatar.jpg 27KB
vip.jpg 19KB
en.json 17KB
zh.json 15KB
composer.json 3KB
apidoc.json 127B
composer.lock 449KB
README.md 3KB
README.md 831B
composer.phar 1.88MB
MemberController.php 41KB
AdministratorPermissionSeeder.php 40KB
AppConfigSeeder.php 40KB
UserService.php 21KB
MemberTest.php 19KB
helper.php 18KB
MemberController.php 16KB
LoginController.php 16KB
backend-api.php 14KB
VideoController.php 14KB
install.php 13KB
CourseController.php 13KB
UserServiceTest.php 12KB
CourseVideoController.php 12KB
VideoTest.php 11KB
ConfigService.php 11KB
CourseController.php 11KB
OrderService.php 10KB
jwt.php 10KB
app.php 10KB
BusinessState.php 10KB
CourseService.php 9KB
OrderTest.php 8KB
OrderServiceTest.php 8KB
OrderController.php 8KB
PaymentController.php 8KB
apiv2.php 8KB
VideoServiceTest.php 8KB
StatisticController.php 7KB
CourseServiceTest.php 7KB
AddonsController.php 7KB
session.php 7KB
AdministratorMenuSeeder.php 7KB
BusinessStateTest.php 7KB
meedu.php 7KB
validation.php 6KB
validation.php 6KB
CourseTest.php 6KB
UpgradeToV45.php 6KB
Addons.php 6KB
PromoCodeController.php 6KB
OtherController.php 5KB
scout.php 5KB
UserInviteBalanceService.php 5KB
ServiceProxy.php 5KB
WechatScan.php 4KB
GlobalShareMiddleware.php 4KB
PromoCodeListener.php 4KB
mail.php 4KB
SocialiteService.php 4KB
Administrator.php 4KB
AuthBus.php 4KB
WechatJSAPI.php 4KB
database.php 4KB
purifier.php 4KB
LoginController.php 4KB
OrderController.php 4KB
filesystems.php 4KB
ApplicationInstallCommandTest.php 4KB
CacheConstant.php 4KB
auth.php 4KB
RoleServiceTest.php 3KB
ApplicationInstallCommand.php 3KB
VideoService.php 3KB
Kernel.php 3KB
DashboardController.php 3KB
MeEduCloud.php 3KB
EventServiceProvider.php 3KB
RoleService.php 3KB
Alipay.php 3KB
共 657 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
智慧浩海
- 粉丝: 1w+
- 资源: 5203
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功