關於上面,一步接一步處理資料、校驗資料的流程(類似於過濾器),對映到我們**裡該怎麼寫呢?
可以按照這個流程圖一步一步的寫**,把這個流程給寫完;但是缺點是不夠靈活,不好擴充套件;
2、把處理和校驗分別當作乙個介面,新增了處理器、校驗器直接實現前面的介面即可;
3、基類裡幫我們做與業務無關的事情比如排序,具體的處理、校驗邏輯由具體的實現類實現。
優先順序介面priority,這個不論是處理器還是校驗器都需要實現的介面
public inte***ce priority
處理器介面processor
public inte***ce processor extends priority
處理器基類abstractprocessor
public abstract class abstractprocessor implements processor
}protected abstract boolean need(mapmap);
protected abstract void doprocess(mapmap);
}
具體的實現類,這個根據你的業務來實現,我這裡實現三個,但是第三個我不想要了,直接把need改為false。
@component
public class firstprocessor extends abstractprocessor
@override
public void doprocess(mapmap)
@override
public int getpriority()
}
@component
public class secondprocessor extends abstractprocessor
@override
public void doprocess(mapmap)
@override
public int getpriority()
}
@component
public class thirdprocessor extends abstractprocessor
@override
public void doprocess(mapmap)
@override
public int getpriority()
}
處理器就結束了,下面開始寫 校驗器,和處理器很類似
校驗器介面validator
public inte***ce validator extends priority
校驗器基類abstractvalidator
public abstract class abstractvalidator implements validator
}protected abstract boolean need(mapmap);
protected abstract void dovalidate(mapmap);
}
具體的實現類,這個根據你的業務來實現,我這裡實現三個,但是第二個我不想要了,直接把need改為false。
@component
public class firstvalidator extends abstractvalidator
@override
protected void dovalidate(mapmap)
@override
public int getpriority()
}
@component
public class secondvalidator extends abstractvalidator
@override
protected void dovalidate(mapmap)
@override
public int getpriority()
}
@component
public class thirdvalidator extends abstractvalidator
@override
protected void dovalidate(mapmap)
@override
public int getpriority()
}
準備工作做完之後,我們把處理器、校驗器整合在一起
執行介面processmanager
public inte***ce processmanager
執行介面實現類processmanagerimpl,裡面做處理器、校驗器的排序
這樣子的話,我哪乙個處理器、校驗器不想用了,直接把need改為false即可
當我想加乙個新的處理器、校驗器的時候,只需要再新增乙個業務類,繼承超類,給上優先順序大小,然後編寫自己的業務邏輯即可。
**結構:
物理處理器與邏輯處理器
記錄解決方案,自己實際處理過,方案可用,在自己的部落格中記錄一下。cpu central processing unit 是 處理單元,本文介紹物理cpu,物理cpu核心,邏輯cpu,以及他們三者之間的關係。乙個物理cpu可以有1個或者多個物理核心,乙個物理核心可以作為1個或者2個邏輯cpu。物理c...
處理器核心
處理器核心 cache 寫緩衝器 主存 輔助儲存器 寫操作,對核心而言非迫切,所以加乙個寫緩衝器很好。cache可放在處理器核心與mmu之間 邏輯 cache,主流 也可放在mmu與主存之間 物理 cache 對儲存器中相同或相鄰資料和 的反覆使用,是cache改善效能的主要原因。cache同時使用...
處理器排程
1 cpu排程的相關概念 a.cpu排程 其任務是控制 協調程序對cpu的競爭 即按一定的排程演算法從就緒佇列中選擇乙個程序,把cpu的使用權交給被選中的程序 如果沒有就緒程序,系統會安排乙個系統空閒程序或idle程序 b.cpu要解決的三個問題 cpu排程的時機 就緒佇列的改變引發了重新排程 事件...