为什么我要写自己的框架? - 简书



为什么我要写自己的框架? - 简书

当写出这个文件的时候,我是很兴奋的,马上分享了出去,结果就是啥都没有发生,世界还是那样,我也没有变帅,说明我在成为大师的路上只进步了一点点,或者干脆没有进步,只是知道的多了点。于是我又开始新的一轮学习,看大量的书籍,有一天我重新打开Yii框架在我当时看起来很难理解的代码的时候我发现:我居然有点明白它的工作原理,知道整体的架构了!
这个发现了这个的我很兴奋,一个想法油然而生:为何我不开始编写自己的框架呐!
说干就干,花了一天的时间就完成了基础类和代码的编写,包括路由、模型类、控制类、一些基本的方法都封装在里面,我觉得自己简直太厉害了,居然在我看来可以完美的运行!我觉得已经可以了,于是就把它推了上去(ps:没有加上自动require,只是在每个文件的最上面加上了),在不断的测试之后就发现,这边有bug,那边也有!require不使用绝对路径简直难用,整个框架想一盘散沙,一点都不好用,可扩展性几乎没有,我又陷入了沉思。错在哪里了!
真正的顿悟是在最近一次打开Yii框架源码,看到了autoload之后顿悟:其实可以根据需求自动加载文件,很多问题也就解决了,当然,这篇文章也就列举这一个问题,其实我碰到的问题不止这些,很多以前理解错误的地方也随着编写这个框架变的正确了✅。


Read full article from 为什么我要写自己的框架? - 简书


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts