个人博客网站弃用Abp

news/2024/5/20 14:22:02/文章来源:https://blog.csdn.net/weixin_30413739/article/details/97348307

国庆假期,地铁站过道都是人山人海,故决定放弃了去祖国的大好河山的路上添堵。宅在家里折腾pgsql和个人网站,让我决定个人网站后台弃用Abp这个被奉做神明的框架。

初探gensql工具

因为长期混迹于.net core群,群里面的叶生大神几近偏执地宣传他创建维护了11年多的gensql工具;该工具的参考地址是:.NETCore 快速开发做一个简易商城。这篇文章总结里面有一句话:

在当今,面向 dbfirst 开发的思想比较”落后“,许多同行在对比他们的同时,却忽略了什么是结果导向。技术都是实现业务的工具,不管是 code first 还是 dbfirst 都是为解决业务而存在。

这句话算是得到了我的强烈认同。结合我公司现有的项目进展来看,几百个表的主键、外键等依赖关系也几近完美。基于业务需要,公司想转.net core实现跨平台。而现在主流的.net core一般都是和code first相结合,若想重新整理代码,硬生生地从dbfirst改成code first这会是一个很大的工作量了。

我通过阅读教程,使用genmy的工具,基于公司的数据库进行测试,几百个表的增删改查页面都不用手动去写就已经配置好了。摒弃实际业务中的校验逻辑,数据传输这一块,这个Api的测试接口却不需要自己再去一个一个的编写。即实现了跨平台,又减少了编码量。gensql算是.net core和dbfirst相结合的一个比较完美的工具了。

 

初探PostgreSql

正如两个月前刚接触mysql一样。2天前刚接触pgsql。我死皮赖脸地请教叶生怎么在pgsql中创建一个表,结果他在我电脑上把.NETCore 快速开发做一个简易商城。这个过程在pgsql中完全演示了一遍。在这个演示过程中:我得知了pgsql支持枚举类型,string[],point(坐标点),json类型。初次尝试通过ER-Model导入database生成了表格,视图等。从安装pgsql到创建数据库到生成解决方案到部署到我的个人站点,整个过程不到3个小时。这就是工具决定效率的一个良好的体现。

      为了验证工具的稳定性,后来我自己在pgsql上折腾了27个各种主外键关系的数据库表,经过12个小时左右形成了一个具备增删改查功能的可以访问的站点,算是初探成功。

初探Abp之增删改查

之前在.net core群里面聊天,说小项目不建议使用abp。我当时的一个疑问是:小项目不用,难道等小项目扩展成大项目的时候再换框架么?直到今天有人问我abp怎么实现crud。我就想在我的个人网站中实现abp的增删改查的示例,结果发现小项目果真不太适合使用Abp这种框架。ddd理论层面的东西我不讲太多,仅以以下代码做个简短说明:

entity和input,前者是数据库对象,后者是表单对象(数据传输对象),不同的表单会有不同的数据传输对象,怎么样划分model才是正确的方式,在编码过程中估计得纠结大半天。

另外了解abp框架中automapper,module,repository,applicationservice等各种概念的时间,估计都足够完成一个小型项目了。结果他这个小伙子在网站找了三天资料,然后加上我一知半解地跟进demo配置了半天,依旧未解,算是初探失败。等现有事项完成之后可以继续深入了解Abp,但不是现在。

总结

         我并不是要吹捧gensql工具特别特别厉害,毕竟这个工具的主要作用还是让人花更多精力在业务层面上来。至于我为啥要在个人网站中弃用Abp,可能原因是个人没有形成足够的DDD的理念,然后强行运用Abp在个人网站中有种杀鸡焉用牛刀的感觉。

         个人网站的未来:语言.net core+后台gensql+前台inspinia+富文本编辑器TinyMCE(不得不说这个博客园的编辑器就是比layeditor和summernote这两款编辑器高端大气不少)。因为涉及到框架调整,也就意味着个人博客网站在一定的时间内不会更新新的版本了。这样的技术选型既满足了前台足够好看,TDD的理念,也达到了分享源码之后,别的It人员能够迅速的搭建其自己的业务网站的目的。

        最后祝大家国庆快乐!我剩下的四天节假日得去练车了,试图做个老司机了。

 

 

 

 

转载于:https://www.cnblogs.com/StoneLiu/p/9740886.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_804792.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LAMP网站架构

LAMP定义 基本定义 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写 Linux,操作系统, Apache,网页服务器 MariaDB或MySQL,数据库管理系统(或者数据库服务器) PHP、 Perl或Python,脚本语言 …

宝塔搭建网站

安装宝塔面板 首先我们要进入虚拟机centos7,在命令行输入以下命令安装宝塔面板 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 等待安装完成之后,命令行会显示面板的登录…

x-ray之第三篇-代理模式进行登陆后的网站扫描

使用xray代理模式进行漏洞扫描 代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送…

网站篇笔记之22对恶意链接的处理

文章目录介绍如何处理如何预防页面利用方式隐藏的链接如何查找链接链接如何处置免责声明介绍 所谓的挂马,就是黑客通过包括:SQL注入,XSS跨站、恶意扫描、0day, 等各种方法获得网站管理员账号。 然后登陆网站后台,通过数据库“备份…

网站页面篡改及挂马的应急处置

文章目录排查思路常见技术手段直接篡改页面iframe框架篡改JS 文件篡改其他篡改处置过程事件描述处置过程简述摘抄排查思路 排查篡改的页面。排查是否有Webshell。排查是否存在操作系统级木马。排查网站存在的漏洞及黑客的攻击路径。进行综合分析及溯源。 常见技术手段 直接篡…

测试网站搭建+渗透+审计之第三篇Swagger接口渗透测试

文章目录 介绍基础使用漏洞利用0x01 Swagger敏感信息泄露的路径0x02 Authorize认证缺陷漏洞漏洞描述漏洞利用介绍 Swagger 是一款RESTful接口的文档在线自动生成加功能测试的软件。 目的是为了减少与其他团队的沟通成本,因此会使用Swagger构建RESTful API文档来描述所有的接口…

钓鱼网站实现

检查网络可用性 运行中间人 伪造网关 钓鱼

[Django] Window上通过IIS发布Django网站

网上的教程坑实在多,以下是本人亲测通过的: 需要解决的问题: 1.使用 python manage.py runserver 来运行服务器,只适用测试环境中使用,正式发布的服务,需要一个可以稳定而持续的服务器。 2.部署在Windows服…

《深入网站开发和运维》

《深入网站开发和运维》 基本信息 原书名:Pro website development and operations:Streamlining devOps for large-scale websites 原出版社: Apress 作者: (美)Matthew Sacks 译者: 曾少宁 丛书名: 图灵程序设计丛…

常见的网站服务器架构

初始阶段的网站架构 一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服…

Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测

Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测 2017年12月13日 17:39:11 机器之心V 阅读数:5931近日,Artur Suilin 等人发布了 Kaggle 网站流量时序预测竞赛第一名的详细解决方案。他们不仅公开了所有的实现代码&#xff0…

mysql表名备注_「备注」mysql添加备注信息 - seo实验室

备注前言这连天有人问我一些mysql的备注信息,不得已还是写一遍博客吧1、创建表的时候,添加表名备注和字段备注CREATE TABLE healerjean_comment (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(32) NOT NULL COMMENT 名字备注,email varchar(64) …

laravel linux 入口文件,php - laravel部署到linux,将public文件夹指定为网站根目录,但是无法访问其子文件夹...

本机使用的是window环境,一切正常,但是部署到linux系统上(配的是nginx),在访问的时候,控制器和方法都能正常执行,页面也可以输出,但是输出的页面却缺少css文件,一查是500错误,已经将请求重定向到public文件夹下,我的目录结构是:public/web/css/css.css域名是:aaa.com直接访问aa…

html对话框鼠标事件只触发一次,JS中mouseover和mouseout多次触发问题如何解决

问题描述我希望当鼠标移动到id1上的时候,id2显示,当鼠标离开id1的时候,id2显示。问题如下:1.当鼠标从id1上移动到id2上的时候,id由有显示变为不显示,然后变为显示2.当鼠标从id2上移动到id1上的时候&#xf…

dede mysql密码重置_织梦dede系统网站后台账号密码修改(3种方法搞定)

如今身处于互联网时代的我们生活丰富多彩,而我们的账号密码也同样如此,以前有很多用户将自己的密码设置成一种或两种的,但是造成了不法分子大量盗窃并撞库,造成很多平台的账号密码都泄露了,所以为了避免信息被盗窃&…

推荐一个好的餐馆点评网站

今天看财经频道经济观察发现的。大概是大众点评网整理除了一本对上海餐馆的评价。对一家饭店评价的一般或者比较差。然后餐馆上诉这家网站看了一下这个网站的评价确实还比较客观。广告一把:http://www.zsurvey.com 大众点评网转载于:https://www.cnblogs.com/montaq…

卡巴斯基误杀XP导致某IT网站电脑大面积瘫痪

12月20日早上8点30分左右,Into编辑部的几台电脑,同时出现杀毒软件报警感染病毒的情况 出现报警的杀毒软件均为卡巴斯基,病毒库版本2007 12-20 4:30 03。有人按照杀毒软件的提示,点击了删除,但是在重启电脑之后&#xf…

java web默认页面_Spring Boot 2.0 设置网站默认首页的实现代码

Spring Boot设置默认首页,方法实验OK如下附上Application启动代码/*** ClassName Application* Description Spring-Boot website启动类* author kevin.tian* Date 2018-03* version 1.0.0*/SpringBootApplicationPropertySource(value{"file:${APP_HOME_CONF}…

使用输出缓存增强网站性能(简单介绍)

性能是任何 Web 应用程序的关键方面。 必须减少 Web 服务器的处理量,以便使单个请求结果响应速度更快、服务器有能力处理更多并发请求并减少中间和后端数据系统的负荷。 使用输出缓存以减少服务器的工作负荷,能够实现更佳的 ASP.NET 性能。 输出缓存是一…

博客网站的Windows Live Writer设置

暂时没有发现更好的离线编辑blog的软件,#Windows Live Write#应该是不错的一个,但用它配置访问编辑live spaces是很不错的。但大家可能也都知道了,微软准备把live spaces整体迁移到 #WordPress# 架构上,可是众所周知,W…