• 关于框架的一些思考


    框架的本质,是解决了以下两个问题:

    • 使用已知的最优解,来解决已知的共性问题,节约重新发明轮子的工作。
    • 强行进行规范性的约束。

    框架应该提供的几个核心能力,或者说要提供关键特性:

    1. 路由管理
    2. MVC分层
    3. ORM
    4. 基本的安全控制(防SQL注入等)
    5. 切片编程
    6. 日志机制
    7. 异常机制
    8. 多语言支持机制
    9. 对第三方工具包的集成机制

    关于框架的发展方向:

    Java主流框架,从Spring到SpringBoot,从Hibernate到MyBatis,包括国内最近出的TDengine,背后都有一个思路,就是设计者逐渐抛弃复杂的过度设计,回归到二八原则,用最简单的方法为大部分项目提供更轻量级的、效率更高的技术方案。

    社区建设方面PHP一直是落后于Java的,不过显然也会是这样的一个发展趋势。从这个角度看,Laravel框架本身比较臃肿,很多功能的实现机制也太过于复杂,应该并不会代表未来的发展方向。对于框架而言,提供的功能越是丰富,路就走得越窄。在代码的世界,Off-The-Rack的东西,应该是和具体业务无关的,否则适用范围有限。Off-The-Rack的程度越高,这个适用范围就越窄。

    仅就这些年遇到的项目需求,我对框架的期望是:

    • 最好大家都逐步过渡到完全的前后端分离,这样框架可以更纯粹,不用分别照顾两种情况。
    • 框架本身尽量简洁,但是可以在各个不同的环节,集成或者替换第三方的组件,这样可以促使社区组件丰富化、专业化,不同场景可以自由选择不同组件。类似装修,简单做硬装,用新做软装。
    • 从框架角度,支持API版本的管理。
    • 期待一些有意思的组件,如灰度发布等。
  • 相关阅读:
    2 初学函数,求幂指数练手程序
    1 批量生成虚拟姓名
    Python 中 time 模块与 datetime 模块在使用中的不同之处
    feature selection&feature abstraction降维
    拿到样本简单的清洗操作
    使用sklearn做单机特征工程
    tensorflow安装
    PCA数学角度解析
    使用Python进行描述性统计【解决了实习初期的燃眉之急】
    类、对象、属性、方法、类的成员
  • 原文地址:https://www.cnblogs.com/zhaoxizhe/p/11405875.html
Copyright © 2020-2023  润新知