原文:動手實現一個單頁面應用

前言 在單頁面應用程序中,前后端采用了完全分離的方法,因此在前端實現路由的切換非常的重要。同時前端實現路由可以減少請求數,緩解后端的壓力。在單頁面中的路由主要有兩種實現方法,一種是通過h 的history api來實現,還有一種是hash來實現。 history history的方法主要是應用了幾個H 的histroy API: API window.pushState stateData, ti ...

2018-05-29 16:09 0 1721 推薦指數:

查看詳情

自己動手實現一個簡單的 IOC容器

控制反轉,即Inversion of Control(IoC),是面向對象中的一種設計原則,可以用有效降低架構代碼的耦合度,從對象調用者角度又叫做依賴注入,即Dependency Injection(DI),通過控制反轉,對象在被創建的時候,由一個調控系統內所有對象的容器,將其所依賴的對象的引用 ...

Sun Nov 01 03:03:00 CST 2020 0 1587
自己動手實現一個阻塞隊列

1. 阻塞隊列介紹 顧名思義,阻塞隊列是一個具備先進先出特性的隊列結構,從隊列末尾插入數據,從隊列頭部取出數據。而阻塞隊列與普通隊列的最大不同在於阻塞隊列提供了阻塞式的同步插入、取出數據的功能(阻塞入隊put/阻塞出隊take)。 使用put插入數據時,如果隊列空間已滿 ...

Thu Apr 22 03:55:00 CST 2021 3 676
自己動手系列——實現一個簡單的LinkedList

LinkedList與ArrayList都是List接口的具體實現類。LinkedList與ArrayList在功能上也是大體一致,但是因為兩者具體的實現方式不一致,所以在進行一些相同操作的時候,其效率也是有差別的。 對於抽象的數據結構——線性表而言,線性表分為兩種,一種是順序存儲結構的順序表 ...

Wed Feb 15 23:49:00 CST 2017 2 5340
自己動手系列——實現一個簡單的ArrayList

ArrayList是Java集合框架中一個經典的實現類。他比起常用的數組而言,明顯的優點在於,可以隨意的添加和刪除元素而不需考慮數組的大小。處於練的目的,實現一個簡單的ArrayList,並且把實現的過程在此記錄。 實現的ArrayList主要的功能如下: 默認構造器和一個參數的有參 ...

Wed Feb 08 20:12:00 CST 2017 4 5896
自己動手實現一個MVVM庫

我們知道的,常見的數據綁定的實現方法 1、數據劫持(vue):通過Object.defineProperty() 去劫持數據每個屬性對應的getter和setter2、臟值檢測(angular):通過特定事件比如input,change,xhr請求等進行臟值檢測。3、發布-訂閱模式 ...

Wed Jun 07 09:11:00 CST 2017 3 5269
動手實現一個簡單的 rpc 框架到入門 grpc (上)

rpc 全稱 Remote Procedure Call 遠程過程調用,即調用遠程方法。我們調用當前進程中的方法時很簡單,但是想要調用不同進程,甚至不同主機、不同語言中的方法時就需要借助 rpc 來實現,下面我一步步實現一個簡單的 rpc 調用。 server 端注冊函數,運行並接收客戶端請求 ...

Thu Jul 09 00:30:00 CST 2020 0 556
自己動手實現一個簡單的JSON解析器

1. 背景 JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。相對於另一種數據交換格式 XML,JSON 有着諸多優點。比如易讀性更好,占用空間更少等。在 web 應用開發領域內,得益於 JavaScript 對 JSON 提供的良好支持,JSON ...

Fri Jan 26 17:44:00 CST 2018 1 2232
動手實現一個網頁加載進度loading》

loading隨處可見,比如一個app經常會有下拉刷新,上拉加載的功能,在刷新和加載的過程中為了讓用戶感知到 load 的過程,我們會使用一些過渡動畫來表達。最常見的比如“轉圈圈”,“省略號”等等。 網頁loading有很多用處,比如頁面的加載進度,數據的加載過程等等,數據的加載 ...

Wed Jan 04 19:25:00 CST 2017 1 20727
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM