V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Braisdom  ›  全部回复第 27 页 / 共 31 页
回复总数  607
1 ... 19  20  21  22  23  24  25  26  27  28 ... 31  
2020-11-30 13:36:29 +08:00
回复了 caiji11 创建的主题 Java 哪里可以下载到 Java 抽象语法树的源码包呢
@caiji11 你看一下你的路径,找到 tools.jar ,确认一下你的 jdk 版本
2020-11-30 13:24:01 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@renyijiu protobuf 只是一个协议封装,用在数据传输的,现在比较流行,相比很早的 TLV 灵活很多。rpc 只是远程调用,现在微服务里比较流行
2020-11-30 13:05:36 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@chinvo 我也有同感,我之前写了很多年的 Java,中途写 Ruby 和 Python,也是最近两年才又写 Java,ORM 又是一个系统无法避免的问题,用起来太痛苦,所以才会写 ObjectiveSQL 这个项目的。

Java LINQ 也有,但很不好用,只能处理一些相对简单的查询,join 子查询,union,复杂表达式等(多层 case when 或者窗口函数等),这些处理起来很不舒服
2020-11-30 12:54:48 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@chinvo 我之前没有接触过.NET 的 entity framework,也是最近才看到,

我设计 ObjectiveSQL 的主要目的是为了解决复杂 SQL 的处理,现有的框架维护动态 SQL 太痛苦,时间一长,项目根本无法维护。

简单 SQL 现有的框架已经做的很不错了,只是顺带把它做了而已
2020-11-30 12:48:50 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@chinvo .NET 的发展过程值得学习
2020-11-30 12:42:48 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@beginor 感谢支持,下一阶段 ObjectiveSQL 项目的主要工作是:数据迁移(Migration) 和 SQL 注入(SQL Injection)
2020-11-30 12:41:27 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
@GM
@beginor
两位,先陈述一下我的设计思路,问题域分两块:SQL 域和 Java 所解决的业务域,在业务域中存在的是对象行为,创建(create),更新(update),和销毁 /删除(destroy),而 SQL 中通常是 Insert, update, delete 。

我的设计来自于 Rails 的设计,本质上怎么用问题都不大,只是习惯问题而已
2020-11-30 11:35:00 +08:00
回复了 Braisdom 创建的主题 程序员 ObjectiveSQL 稳定版本发布 1.4.0
是的,SQL 注入是 ObjectiveSQL 下一阶段的重点特性
2020-11-30 10:31:34 +08:00
回复了 caiji11 创建的主题 Java 哪里可以下载到 Java 抽象语法树的源码包呢
JDK1.8 可以这样配置,1.8 以后不需要:
```xml
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
<optional>true</optional>
</dependency>
```

https://github.com/braisdom/ObjectiveSql 这里有详细应用
2020-11-29 20:24:13 +08:00
回复了 RedrumSherlock 创建的主题 Java Spring 相关,有没有什么好的解决方案
刚刚仔细看了楼主的贴子,像这类问题也比较容易解决:动态代理
不同微服务中使用同一个领域模型是正常的,但不同微服务中根据自身的技术特性,对模型也会有不同的技术型定义,这是很正常的需求。

解决方法:在能用的 JAR 中通过 Java Interface 定义领域模型,JPA 中只是实现这个 Interface,其它的微服务只看到 Java Interface,在不同微服务之间进行模型传递时,通过一个动态代理的对象工厂创建这个接口的实例。

这样就可以不需要在所有的微服务中看到 JPA 的 Entity 了,它们看到的只有领域模型的 Interface,只不过需要定义好对象传输的协议,和反序列化的逻辑。
2020-11-29 15:02:53 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@beginor 还有一点,我想阐述一下,不存在什么老树开新花,我的目标是改变传统的 Java 编程模型,Spring 是现在比较流行的编程模型,但我想一步一步改变它,先坐 ORM 开始
2020-11-29 14:50:16 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@beginor 本质上,我也设计过 JVM 的语言,之前命名为 JDS(Java Database Script),但最终发现,所谓的新型的语言还是和传统 Java 语言结合太紧密,所以也就放弃了。还是改造现有的 Java 语言最为实际。

我觉得 Lambda 不是最优的方法,我的目标是忘记 SQL 的存在,以 Java 编程模型解决数据查询和分析,以过程化的方式解决 SQL 编程的复杂性。我的 github 上有大量老外关注的,我也在尝试在国外的社区推广
2020-11-29 10:40:49 +08:00
回复了 RedrumSherlock 创建的主题 Java Spring 相关,有没有什么好的解决方案
我一直都不明白,为什么会存在 POJO,VO,DTO, Entity 这些概念,纯属过于理论化的抽象,脱离实践太远,完全没有考虑开发过程中的理解的复杂度。
2020-11-29 10:35:08 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@wdwwtzy 相信 ObjectiveSQL 将是 ORM 的一个新的巅峰
2020-11-28 15:05:10 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@VHacker1989 如果你真用了 MyBatis 的 PageHelpper 你再体验一下 ObjectiveSQL 你会觉得 MyBatis 做的太 Low 了,
如果你再看一下两者的代码,就觉得 MyBatis PageHelpper 更 Low 了
2020-11-28 14:55:25 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@VHacker1989
兄弟,我没有任何配置,所谓有 Page 的实例也是业务系统中不可或缺的
2020-11-28 14:54:29 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@php01 PHP 还是我十几年前写过,已经忘记它是个什么样子了,但我看了 laravel 的框架,还是存在很多问题
1 )模型与模型内的字段,应当是编程中的元素,而不应该是一个字符串
2 )它的很多元语已经脱离结构化的编程,虽然说每种语言都应有自己的编程元语,但在当然,我们应当遵循前人的命名规范,当然可以超越前人的思想
3 )它的表达式,还是不够完美,">",”<“ 这类太过怪异
2020-11-28 14:28:51 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hcymk2 感谢认可,往往认可我项目的人,都是经历过各种 ORM 框架的困扰,我经历太多了,实在忍无可忍了,才下定决心搞一个新的,
2020-11-28 14:24:38 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@hantsy
首先,你先要理解为什么要动态生成,动态生成代码的目的是为了解决重复编码的问题,所谓 OOP 也只是站在简洁的代码基础上的。

OOP 只是一个理论的基础,它无法脱离现实,如果 OOP 会带来太多的重复代码,那么这样的编程也不具备效率。
编程理论有很多种理解的范式,它可以是一份工作,也可以是一份毕业论文,当然也可以是想象中的世界。

我的心中没有面向对象,也没有面向过程,更没有所谓的设计模式,我只有让自身的工作变得简单的想法,很淳朴的想法。若干年后,程序员的职业是否存在都是一个未知数...
2020-11-28 12:31:24 +08:00
回复了 Braisdom 创建的主题 Java Java ORM 中简洁的关联对象查询和分页查询
@liununu
你说法非常正确,讨论到问题的核心了
大都数业务中,一个 DomainModel 会对应数据库中的一张表,而 DomainModel 也就承担了基础的数据库访问能力,以及围绕该 DomainModel 产生的业务特性。

ObjectiveSQL 只是动态生成了所有数据库访问的能力,不需要额外编写代码就可以直接使用,减少重复的编码量,提升开发效率。

至于上面描述的复杂 SQL 的编程,只是在 DomainModel 中进行复杂的业务逻辑处理时所用的特性。

ObjectiveSQL 和 Spring 一样都是侵入原生的 Java Class,只不过 Spring 更加隐晦,你感觉不到,而 ObjectiveSQL 的侵入更加明显,而且与实际的业务代码进行结合。这就是和 Sping 本质的区别
1 ... 19  20  21  22  23  24  25  26  27  28 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1050 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 19:17 · PVG 03:17 · LAX 12:17 · JFK 15:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.