/@{ ....">
美文网首页.NET
方法即服务 — 1. 思考

方法即服务 — 1. 思考

作者: 冰麟轻武 | 来源:发表于2017-04-10 23:44 被阅读61次

"服务器"后端开发

很长一段时间我们做Web开发,拖拉控件,aspx/Razor视图,<% ... %>/@{ ... }脚本,前后端强耦合,几乎没有独立的前端程序员这个岗位,每个后端都是全栈...

后来ajax出现了,为了更好的用户体验,开始使用了静态html+ajax的方式构建页面,前后端初步的分离了一些,但是没有完全适应前后分离的我们在ajax中输出大段大段的<div> ... </div>,然鹅当页面样式发生变化后,这些后端方法需要全部重写...

再后来出现了前端MVC/MVVM,微服务概念,WebApi,后端负责输出数据,前端负责构建页面,这些WebApi还可以在html页面和移动端app之前复用,看似前后端算是彻底分离了,但是还有没结束。

所有这些开发还是依赖于HTTP协议,HTTP本身是以TCP协议为基础的一种数据格式协议,当有人不满足HTTP协议的臃肿,繁琐和低效后,他们就想自己搞一套RPC协议,然后就出现了各种各样的RPC框架,Remoting、WCF、Thrift、Dubbo、GRPC...

但是由于HTTP的不可替代性,所以程序员们还是不得不熟悉一个个的RPC框架和Web框架...

不管服务器的 后端开发

所以我就在想,能不能不需要了解这些RPC或者Web框架,我只要写一个方法

Class UserManager
{
    User GetUser(int id);
}

其他人就可以用自己擅长的方式调用,跟我没啥关系;

如果你擅长Http, 那么你就用

GET http://xxx.com/api/usermanager/getuser?id=1 HTTP/1.1
Accept: text/json

你说你更爱POST?擅长JSON提交,返回值想要XML?可以可以。

POST http://xxx.com/api/usermanager/getuser HTTP/1.1
Accept: text/xml
Content-Type: application/json;charset=utf-8

{"id":"1"}

你说你擅长GRPC?没问题!

service UserManagerService{
  rpc GetUser (GetUserRequest) returns (GetUserResponse);
}

message GetUserRequest {
  int32 id = 1;
}

message GetUserResponse {
  string name = 1;
  int32 age = 2;
}

方法即服务

写一个方法,只要你愿意将它公开,那么它就是一个服务

至于它将以什么样式服务形式被公开或者被调用,那不是开发人员需要关心的事,开发人员应该把精力都集中在功能上,保证执行和数据的正确性。

我想设计一个这样的框架,我将它取名为MIS(Method Is Service)

未完待续……

相关

方法即服务 — 2. 解耦服务器宿主

相关文章

  • 方法即服务 — 1. 思考

    "服务器"后端开发 很长一段时间我们做Web开发,拖拉控件,aspx/Razor视图,<% ... %>/@{ ....

  • 方法即服务 — 2. 解耦服务器宿主

    传送门 方法即服务 — 1. 思考 既然希望业务代码在不同的服务器宿主环境下执行,那么就需要抽象不同服务器宿主之间...

  • SpringCloud创建Eureka Client服务注册

    1.说明 本文详细介绍微服务注册到Eureka的方法,即Eureka Client注册到Eureka Server...

  • Windows平台上搭建Jenkins

    1. 什么是Windows 服务 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在...

  • 整合

    1.实用即相关 2.场景为王 3.用协同效应抓住用户 4.重新构想价值创造 思考路径 1.把产品重新构想为服务 2...

  • 整合

    1.实用即相关 2.场景为王 3.用协同效应抓住用户 4.重新构想价值创造 思考路径 1.把产品重新构想为服务 2...

  • 深度思考-训练方法

    深度思考训练方法 目录 1. 总结 2. 深度思考 1. 总结 提高深度思考能力的6个日常训练方法: 1. 从关注...

  • 产品即服务,服务即产品

    作为一个理工科研民工,做实验的时候不是在测试实验设备就是在测试实验设备的路上。往往把很多时间和精力都放在了设备的检...

  • SaaS Pass IaaS 区别

    均为云服务模型:SaaS(软件即服务),PaaS(平台即服务)和IaaS(基础架构即服务)。 SaaS:软件即服务...

  • 2020-06-22 Windows 10 无法设置代理服务(设

    Windows 10 无法设置代理服务(设置完后无法保存) Windows 10 ,无法使用代理服务,即两种方法都...

网友评论

    本文标题:方法即服务 — 1. 思考

    本文链接:https://www.haomeiwen.com/subject/deveattx.html